копирование текста в массив символов из текстового файла в C? - PullRequest
0 голосов
/ 30 ноября 2009

Привет, как мне скопировать текст из текстового файла в многомерный массив символов?

предположим, что текстовый файл (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 Ответ

1 голос
/ 30 ноября 2009

Я думаю, ваш код почти работает.
Просто переместите объявление 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...