我做一个小练习来读取一个包含一个长字符串的文件并将其加载到一个字符串数组中。到目前为止,我有:
char* data[11];
char buf[15];
int i = 0;
FILE* indata;
indata = fopen( "somefile.txt", "r" );
while( i < 11)
{
fgets(buf, 16, indata);
data[i] = buf;
i++;
}
fclose( indata );
somefile.txt: “啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊”
ETC..
这读入 15 个字符,将该字符串添加到数组并获取下一个 15。问题是数组总是等于最后一个字符串,所以如果最后一个字符串是“ccccv”整个数组,data[0] = “ccccv” , data[1] = "ccccv", data[2] = "ccccv" 等等。
有谁知道为什么会发生这种情况以及是否有更好的方法来做到这一点?谢谢