首页 > 解决方案 > 使用 C 中的字符串通过引用传递

问题描述

我不是 100% 确定如何使用 C 中的字符串通过引用传递,这是我当前的代码(其余的不是很重要,只是 void 函数和调用给我带来了问题):

#include <stdio.h>
#include <math.h>
#include <string.h>

// global constants
#define MAX 100
#define SIZE 50

void reader(int *count, char *names[SIZE][MAX], char *pax[SIZE][MAX], char *range[SIZE][MAX], char *cost[SIZE][MAX])
{
    char line[SIZE]; 
    FILE *filepointer;
    filepointer = fopen("planedata.txt", "r");
    *count = 0;
    while(fgets(line, SIZE, filepointer) != NULL)
    {
        strcpy(*names[*count], line); 
        if(fgets(line, SIZE, filepointer) != NULL)
        {
            strcpy(*pax[*count], line);
        }
        if(fgets(line, SIZE, filepointer) != NULL)
        {
            strcpy(*range[*count], line);
        }
        if(fgets(line, SIZE, filepointer) != NULL)
        {
            strcpy(*cost[*count], line);
        }
        *count++;
    }
    fclose(filepointer);
}

我试过删除星号和其他东西,但它不起作用,我认为这可能与我在声明中使用数组的事实有关,但我不太确定。任何帮助,将不胜感激。如果有帮助,这就是我调用 void 函数的地方:

reader(&count, &names[SIZE][MAX], &pax[SIZE][MAX], &range[SIZE][MAX], &cost[SIZE][MAX]);

标签: c

解决方案


推荐阅读