Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.59/22: Рейтинг темы: голосов - 22, средняя оценка - 4.59
AlexM24
10 / 10 / 11
Регистрация: 09.12.2014
Сообщений: 89
1

Запись строк из файла в массив

04.02.2015, 12:14. Просмотров 3997. Ответов 2
Метки нет (Все метки)

Просмотрел аналогичные вопросы - все не то!
Задача проста как два пальца. Но что то у меня не выходит
Надо каждую строку из файла (длинна строк разная) поместить в соответствующую ячейку массива. Количество строк не меняется.
А потом вывести все построчно в другой файл.
Помогите плиз.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2015, 12:14
Ответы с готовыми решениями:

Считывание и запись в массив строк из файла
Есть файл-конфигурация, в котором на каждой новой строке стоит сначала число, а потом через пробел...

Сортировка по алфавиту (запись и чтения строк из файла на диске D)
Не получается сортировка по алфавиту (запись и чтения строк из файла на диске D). Для книг,...

Запись в файл отдельных строк и чтение строки с определённым номером из файла
Друзья, нужна помощь в написании программы, которая позволяет записывать в файл отдельные строки,...

Запись строки из файла в массив
Здравствуйте. Помогите в простой задачке. Нужно из файла найти строку по части введенного имени и...

Запись в динамический массив с файла
Здравствуйте, выдаёт ошибку при считывания с файла, прошу указать на ошибку в коде....

2
dimabubyakin
160 / 121 / 85
Регистрация: 16.10.2013
Сообщений: 1,738
Завершенные тесты: 5
04.02.2015, 15:17 2
Лучший ответ Сообщение было отмечено AlexM24 как решение

Решение

Ну как-то так)
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main()
{
    FILE *in = fopen("in.txt", "r");
    char **str = (char**)malloc(sizeof(char*));
    int n = 0;
    while (!feof(in))
    {
        str[n] = (char*)malloc(sizeof(char)* 256);
        fgets(str[n], 256, in);
        n++;
        str = (char**)realloc(str, sizeof(char*)*(n + 1));
    }
    fclose(in);
    FILE *out = fopen("out.txt", "w");
    int i;
    for (i = 0; i < n; i++)
    {
        fputs(str[i], out);
        free(str[i]);
    }
    fclose(out);
    free(str);
    getch();
    return 0;
}
1
AlexM24
10 / 10 / 11
Регистрация: 09.12.2014
Сообщений: 89
04.02.2015, 18:08  [ТС] 3
dimabubyakin, а вот и не работает! Куча ошибок линковки!

Добавлено через 2 часа 30 минут
БЛИН!
Опять отвечаю сам себе. Но кому интересно выкладываю рабочий исходник:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 main() {
 int i=0;
 char base[7][1000],ch;
 FILE *fo,*fi;
 fo=fopen( "in.txt", "r");
  fi=fopen( "out.txt", "w");
 while (!feof(fo)){
             fscanf(fo,"%s",base[i]);
fprintf(fi,"%s\n",base[i]);
       i++;
       }
       fclose(fi);
fclose(fo);
}
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2015, 18:08

Запись из файла в двумерный массив
Доброго времени суток, у меня стояла задача: Создан файл, в него записать числа от 0 до 255, потом...

Запись в массив wchar_t из файла
Помогите пожалуйста разобраться, мне нужно считать файл на русском языке. При чтении русских...

Посимвольное считывание с файла и запись в массив
Всем привет, подскажите, правильно ли я выполняю посимвольное(Нужно считывать, не зная заранее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru