用文件内容填充字符串数组

时间:2018-12-03 18:56:50

标签: c arrays string

我写了一个短代码,应该将文件的内容复制到初始化的字符串数组中,然后打印该数组。我没有收到任何错误/警告,但运行该程序时仍无法打印任何内容。代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

const int dim = 30;



int main() {

char* arr[dim];
int i = 0;

FILE* fp;
fp = fopen("test.txt", "r+");

if(fp == NULL) {

    printf("\nError, breaking...");
    return 0;
}

while(i <= dim) {

    arr[i] = (char *)malloc(dim*sizeof(char *));
    ++i;

}

i = 0;

while(fscanf(fp, "%s", arr[i]) != EOF) {

    printf("%s: added\n", arr[i]);
    ++i;

}


}

该文件包含一系列单词,这些单词仅由空格和换行符分隔。

1 个答案:

答案 0 :(得分:1)

正确的关注者,看看是否有帮助

1)将i初始化为0,即。 i = 0;

2)

while(i < dim) { } // it should be < as array start with 0