出于某种原因,当我尝试运行此测试代码时出现分段错误。该程序应该从文件中读取字符串并将它们放入数组中。我是 C 新手,曾尝试使用调试器,但遇到了麻烦。
任何投入将不胜感激。
void fillArray(char *array[], int * count, FILE * fpin){
char buf[40];
char *p;
count = 0;
while(fgets(buf, 40, fpin) != NULL){
if((p= strchr(buf, '\n')) != NULL)
*p = '\0'; //step on the '\n'
array[(*count)++] = malloc(strlen(buf)+1);
assert(array[*count]);
strcpy(array[*count], buf);
(*count)++;
}
}