私は C を学ぼうとしていますが、ファイルから配列に文字列を読み込む方法がわかりません。文字列の配列として文字の 2D 配列があり、malloc を使用してそれらを読み取ろうとしましたが、SegFault が発生し続けます。コードを修正する方法に関するヒントはありますか?
#include <stdio.h>
#define MAX_WORDS 10
#define MAX_WORD_SIZE 20
unsigned int getLine(char s[], unsigned int uint, FILE *stream);
int main( void ){
FILE *infile1;
unsigned int i = 0;
unsigned int j = 0;
unsigned int index;
char c;
char wordList[ MAX_WORDS+1 ][ MAX_WORD_SIZE + 1];
infile1 = fopen("myFile.txt", "r");
if (!(infile1 == NULL))
printf("fopen1 was successful!\n");
while( (c = getc(infile1)) != EOF){
while ((c = getc(infile1)) != ' '){
wordList[i] = (char *)malloc(sizeof(char) );
wordList[i][j] = getc(infile1);
j++;
}
j = 0;
i++;
}
printf("\nThe words:\n");
for (index = 0; index < i; ++index){
printf("%s\n", wordList[index]);
}