次のような形式の行区切りのテキスト ファイルからロードするコードに問題があります。
aa
bb
dd
ccasdf
dfdsafefasd
vdasfeadsaf
cvdasegfdjasflfe
swedtd
配列に対しては、テキスト ファイルに含まれていたすべてのものを含む配列で終了したいだけです...これが私のコードです。
#include<stdio.h>
#include<string.h>
int main()
{
int size = 0;
char peeps[10000][50];
FILE *people = fopen("test.txt","r");
while(fscanf(people,"%s",peeps[size]) != EOF)
{
size++;
}
fclose(people);
return 0;
}
実行すると、segfault が発生します。gdb が吐き出すものを調べましたが、修正方法がわかりません... gdp が出力するものは次のとおりです。
Program received signal SIGSEGV, Segmentation fault.
_IO_vfscanf_internal (s=s@entry=0x804a008, format=format@entry=0x804865f "%s", argptr=argptr@entry=0xbff85298 "4X\305I",
errp=errp@entry=0x0) at vfscanf.c:1073
1073 *str++ = c;
(gdb) bt
#0 _IO_vfscanf_internal (s=s@entry=0x804a008, format=format@entry=0x804865f "%s",
argptr=argptr@entry=0xbff85298 "4X\305I", errp=errp@entry=0x0) at vfscanf.c:1073
#1 0xb7e5564d in __isoc99_fscanf (stream=0x804a008, format=0x804865f "%s") at isoc99_fscanf.c:35
#2 0x08048581 in main () at fdsa.c:10
誰が何がうまくいかないのか知っていますか?