从C中的文本文件将文本复制到字符数组?

时间:2009-11-30 07:00:15

标签: c text file copying

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

假设文本文件(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;
}

- 谢谢你。

1 个答案:

答案 0 :(得分:1)

我认为你的代码几乎可以工作 只需将int i的声明移出循环即可 将fgets的第一个参数更改为copied_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;
}