2 / 2 / 0
Регистрация: 24.10.2013
Сообщений: 125
1

Аналог !foef, или как найти конец строки при работе с файлом

08.12.2014, 15:52. Показов 665. Ответов 2
Метки нет (Все метки)

День добрый.
Если вопрос касается конца файла, то можно написать так:
C
1
2
3
4
5
6
7
8
9
10
11
long count;
char massiv[1024];
FILE f1
f1=fopen("/mnt/xxx.txt","r");
if (f1==NULL)
    puts("error");
while (!feof(f1))
    {
    massiv[count]=getc(f1);
    count++;
    }
А есть ли какой-то аналог не до конца файла, а до конца строки? Никак найти не могу ничего похожего=(
Пробовал сделать так:
C
1
2
3
4
5
6
fseek(f1,0L,SEEK_SET);
while(massiv[count] = getc(f1) != '\n')
    {
    massiv[count]=getc(f1);
    count++;
    }
Но как я понимаю, он у меня считывает через символ, ибо при проверке while "курсор" смещается на символ, и при самом считывании внутри цикла, то-же идет смещение.

Как можно считать из файла, до конца строки или же до какого-то символа? подскажите пожалуйста.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2014, 15:52
Ответы с готовыми решениями:

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

Почему выдает ошибку при работе с большим файлом, напишите как исправить ?
Помогите пожалуйста, данная программа берет текст из документа 1.txt ( если документ маленький то...

Есть какой-то аналог команды like (как при работе с базами данных) в LINQ
Добрый день. Подскажите, а есть ли какой - то аналог команды like (как при работе с базами данных)...

Нужно найти конец строки, или с помошью кокого оператора?
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() {int L,i,j,n=80; char...

2
Эксперт по математике/физикеЭксперт С++
1942 / 1280 / 367
Регистрация: 16.05.2013
Сообщений: 3,339
Записей в блоге: 6
08.12.2014, 15:54 2
http://www.cplusplus.com/refer... m/getline/
1
2 / 2 / 0
Регистрация: 24.10.2013
Сообщений: 125
08.12.2014, 16:31  [ТС] 3
Смог решить эту проблему вот таким способом:
C
1
2
3
4
5
fseek(f1,0L,SEEK_SET);
while(massiv[count] = getc(f1) != '\n')
    {
    count++;
    }
Но мне кажется это решение не очень красивым и правильным.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2014, 16:31

Задача с файлом, нужно написать в конец каждой строки, сколько символов в строке
var s:string; f:text; k,c:integer; begin assign(f,'laba4.txt'); reset(f); while not...


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

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

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