我已经提供了一个单词的txt文件,其中每行只有一个单词。我被要求将其读入一个字符串数组,其中数组的每个元素都是来自此txt文件的一行。我尝试了一些fgets的解决方案,但到目前为止还没有多少运气,任何建议都会受到高度赞赏?
我尝试过的解决方案之一就是:
char array[45440][20];
char copyToArray = fgets(array[r][20], 100000, inputFile);
for (int r = 0; r < fileLength; r++) {
if(copyToArray != NULL) {
strcpy(array[r][20], copyToArray);
}
}
答案 0 :(得分:0)
如果您已经知道预期的字符串数和最大字长,请使用:
char array[45440][20];
int n;
for (n = 0; n < 45440; n++) {
if (scanf("%19[^\n]", array[n]) != 1)
break;
scanf("%*[^\n]); /* skip the rest of the line if any */
scanf("%*c); /* skip the newline if any */
}
或者这个更简单的选择:
char array[45440][20];
int n, c, i;
for (n = 0; n < 45440; n++) {
for (i = 0; (c = getchar()) != EOF && c != '\n';) {
if (i < 19)
array[n][i++] = '\0';
}
array[n][i] = '\0';
if (c == EOF)
break;
}