0

嘿,如何将文本文件中的文本复制到多维字符数组中?

假设包含文本文件(text_file.txt)

这是第一行

这是第二行

这是第三行

#include <stdio.h>
int main(void){
 FILE *f;
 f=fopen("text_file.txt","r");
 if (f==NULL){
  printf("invalid!");
  return 1;
  }
 else {
  printf("successful");
  }

 char copied_text[80][80];

 while (!feof(f)){
  int i=0,j=0;
  fgets(copied_text[i][j],"%s",f);
  i++;
  }

 return 0;
}

-谢谢你。

4

1 回答 1

1

我认为你的代码几乎可以工作。
只需将 int i 的声明移出循环即可。
把 fgets 的第一个参数改成copyed_text[i] 因为这里需要一个指针。
将 fgets 的第二个参数改为 80,因为它应该是一个 int 表示可接受的字符串长度。

#include <stdio.h>
int main(void){
    FILE *f;
    f=fopen("text_file.txt","r");
    if (f==NULL){
        printf("invalid!\n");
        return 1;
    }
    else {
        printf("successful\n");
    }

    char copied_text[80][80];

    int i=0;
    while (!feof(f)){
        fgets(copied_text[i],80,f);
        ++i;
    }

    for(int i = 0; i <3; ++i)
        printf("%s\n", copied_text[i]);
    return 0;
}
于 2009-11-30T07:18:13.580 回答