【发布时间】:2015-10-30 21:53:26
【问题描述】:
我正在尝试从 C 中的文件中读取。我的代码如下。似乎可以将所有内容都读入数组,但是当我尝试打印它时,出现错误Segmentation fault (core dumped)
FILE *fp;
char * text[7][100];
int i=0;
fp = fopen("userList.txt", "r");
//Read over file contents until either EOF is reached or maximum characters is read and store in character array
while(fgets((*text)[i++],100,fp) != NULL) ;
printf("%s", &text[0]);
fclose(fp);
有人能指出正确的方向吗?
我曾尝试阅读和复制其他类似案例的解决方案,但它们对用户来说非常具体。
【问题讨论】:
-
应该只是
text[0],而不是&text[0]。 -
-->
char text[7][100];..i < 7 && fgets(text[i++],100,fp)..printf("%s", text[0]); -
数组应该是
char text[7][100]。您声明的是一个二维指针数组,而不是字符串数组。 -
感谢两者,虽然二维数组是我在数组中单独存储单词的下一个目标,但我想我把事情搞混了。