Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Чтение из файла?  (Прочитано 5436 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Ира
Новенький

ru
Offline Offline

« : 29-10-2011 14:33 » 

Код: (C++)
AnsiString b[100][4];
        FILE *Fp;
  Fp=fopen("text.txt","r");
  fscanf(Fp,"%d",&n);
  for(int i=0;i<n;i++)
  for(int j=0;j<4;j++)
  fscanf(Fp,"%s",&b[i][j]);
  fclose(Fp);
Здравтсвуйте, скажите ,пожалуйста,можно ли таким образом считывать слова в массив??(p.s. у меня так не получилось,но может можно как-то подправить?)
Записан
RuNTiME
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 29-10-2011 15:39 » 

Ну например так:
Код: (C)
// максимальное количество строк в файле
#define MAX_LINES       100
// максимальная длинна слова
#define MAX_WORD_LENGTH 4

int main(int argc, char **argv) {
    char b[MAX_LINES][MAX_WORD_LENGTH];
    int n;
    FILE *Fp;
   
    Fp = fopen("text.txt","r");
    fscanf(Fp,"%d",&n);
    if(n > MAX_LINES) {
        // читаем столько строк, на сколько отведено места
        n = MAX_LINES;
    }
    for(int i = 0; i < n; i++) {
        // считываем слово
        fscanf(Fp, "%s", &b[i][0]);
    }
    fclose(Fp);
}

Но здесь есть еще один серьезный недочет - необходима проверка на длинну слова. Если какое - то слово в файле будет длиннее чем MAX_WORD_LENGTH - будет ошибка.

содержимое файла получается таким:
Код:
3
qwer
asdf
zxcv
Записан

Любимая игрушка - debugger ...
Ира
Новенький

ru
Offline Offline

« Ответ #2 : 30-10-2011 06:49 » 

RuNTiME, спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines