Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
Olejik7
10 / 10 / 13
Регистрация: 17.02.2014
Сообщений: 58
1

Построчное считывание из файла

23.11.2014, 15:21. Просмотров 1135. Ответов 2
Метки нет (Все метки)

Сразу к сути вопроса - мне надо считать текст из файла(целиком), но текст может быть слишком огромным, поэтому его надо считывать построчно. То есть, выделять строку и память под нее для считывания. но учитывать мне нужно то, что при считывании таким образом слово не должно разделяться на части. Я написал такой код, но он не работает, если текст целиком не влазит в строку... будьте добры, помогите отладить код и подсказать, где тут косяк
C
1
2
3
4
5
6
7
8
9
while(!feof(f1))
            {
                c=maxlen;//максимальная длина строки
                stroka=(char*)calloc(c,sizeof(char));
                ch=fgets(stroka,c,f1);
/*проверка на неделимость слова*/ while((((ch[c-2]>='A')&&(ch[c-2]<='Z'))||((ch[c-2]>='a')&&(ch[c-2]<='z')))&&((ch[c-1]>='A')&&(ch[c-1]<='Z')&&(ch[c-1]>='a')&&(ch[c-1]<='z'))) {/*если слово все же разделено, то уменьшить длину считываемой строки*/c--;free(stroka);stroka=(char*)calloc(c,sizeof(char));
                ch=fgets(stroka,c,f1);}
                fputs(ch,f2);//ну тут и так понятно
                free(stroka);
Добавлено через 22 часа 24 минуты
Помогите пожалуйста!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2014, 15:21
Ответы с готовыми решениями:

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

Построчное чтение из файла
Из файла нужно построчно считать числа типа double и записать в массив. Файл примерно выглядит...

Построчное чтение из файла
в файле числа от -50 до 50, записанные каждое в отдельной строке. нужно посчитать сумму...

Построчное чтение из файла
Необходимо построчно прочитать данные из файла, из разобрать их по переменным. Образец данных в...

2
anmartex
...
1790 / 1258 / 931
Регистрация: 12.02.2013
Сообщений: 2,058
23.11.2014, 17:15 2
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
29
30
31
32
33
34
35
#include <stdio.h>
#include <stdlib.h>
 
char* readln(FILE* stream) {
    static char* str = NULL;
    static size_t i = 0;
    int ch = fgetc(stream);
 
    if ((ch == '\n') || (ch == EOF)) {
        str = malloc(i + 1);
        str[i] = 0;
    }
    else {
        i++;
        readln(stream);
        str[--i] = ch;
    }
    return str;
}
 
// ...
 
int main() {
    // ...
 
    while (!feof(f)) {
        str = readln(f);
        printf("%s\n", str);
        free(str);
    }
 
    // ...
 
    return 0;
}
0
Olejik7
10 / 10 / 13
Регистрация: 17.02.2014
Сообщений: 58
26.11.2014, 19:51  [ТС] 3
а как добавить считывание всех символов, но вплоть до начала следущего слова?

Добавлено через 5 минут
все ,разобрался
0
26.11.2014, 19:51
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2014, 19:51

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Построчное чтение из файла
Всем привет! Помогите написать функцию построчного вывода из файла. Условно, есть файл с таким...

Построчное чтение файла
Подскажите как читать файл построчно что бы работало примерно так сначала читается 1 строка из...

Построчное чтение файла в массив
доброго всем :) своими силами изучаю C. Поставил себе задачу: Есть некий файл. Нужно читать его...

Построчное чтение данных из файла
Есть фаил: selulhmb 83 86 77 82 glrdos 54 48 3 35 canryx 15 59 5 26 cdqqri 45 0 66 37 bxdsj 49...


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

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

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