int main( int argc, char** argv) {
FILE *inFilePtr = fopen(*(argv + 1), "r");
char *rawdata = malloc(sizeof(char) * 100);
float *ary = malloc(sizeof(float) * 50);
int counter = 0;
float averageAns;
int count = 0;
while (count < 1 ){
//fgets(rawdata, 50, inFilePtr); //I have tried both
fscanf(inFilePtr, "%s", rawdata);
*(ary + counter) = atof(strtok(rawdata, ","));
counter++;
*(ary + counter ) = atof(strtok(rawdata, NULL));
counter++;
*(ary + counter) = atof(strtok(rawdata, NULL));
counter++;
count++;
}
我一生都无法弄清楚为什么我总是遇到段错误。即使没有循环,它也会出现段错误(计数 < 1 只是为了看看我是否可以通过一次)。
它不适用于 fgets()、fscanf()。当我将 fgets 中的流更改为 (stdin) 时,它会出现段错误,我提到这一点是因为我认为文件 * 是问题,但现在我认为不是。我已经在我的数据文件“”和“,”中设置了分隔符。
如果有人知道我做错了什么,我将不胜感激。