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

Перезапись строк в файле

26.12.2011, 13:33. Показов 1865. Ответов 4
Метки нет (Все метки)

Люди пожалуйста подскажите как можно перезаписать строку в файле. Не используя fstream.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.12.2011, 13:33
Ответы с готовыми решениями:

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

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

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

Можно ли осуществить перезапись строки в файле
Итак,может не совсем правильная формулировка проблемы,но постараюсь изложить ее.Работа идет с...

4
Модератор
Эксперт С++
12437 / 10003 / 6022
Регистрация: 18.12.2011
Сообщений: 26,774
26.12.2011, 14:17 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
int main()
{
    FILE *ff=fopen("file.txt","r+");// открываем для чтения с последующей записью
    char StringForWrite[]="new text";
    char tt[100];long pos;
    for(int i=0;!feof(ff);i++)// читаем файл
    {
        fgets(tt,99,ff);
        if(i==3)
           pos=ftell(ff); // Запомним позицию, куда писать
    }
    fseek(ff,pos,SEEK_SET); // Переходим к позиции для записи
    fputs(StringForWrite,ff);// Пишем
    fclose(ff);
}
0
0 / 0 / 0
Регистрация: 26.12.2011
Сообщений: 3
26.12.2011, 14:55  [ТС] 3
А можно тоже самое только с fprintf и fscanf.
0
Модератор
Эксперт С++
12437 / 10003 / 6022
Регистрация: 18.12.2011
Сообщений: 26,774
26.12.2011, 15:03 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
{
        FILE *ff=fopen("file.txt","r+");// открываем для чтения с последующей записью
        char StringForWrite[]="new text";
        char tt[100];long pos;
        for(int i=0;!feof(ff);i++)// читаем файл
        {
                fscanf(ff,"%s",tt);
                if(i==3)
                   pos=ftell(ff); // Запомним позицию, куда писать
        }
        fseek(ff,pos,SEEK_SET); // Переходим к позиции для записи
        fprintf(ff,"%s",StringForWrite);// Пишем
        fclose(ff);
}
Только учтите, что fscanf по формату %s читает до любого пробельного символа, а не до конца строки ('\n').
0
0 / 0 / 0
Регистрация: 26.12.2011
Сообщений: 3
27.12.2011, 07:37  [ТС] 5
Спасибо вам, но у меня ещё один вопрос .Как можно очистить стоку в файле до первого переноса строки.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.12.2011, 07:37
Помогаю со студенческими работами здесь

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

Редактирование строк в одном файле и перезапись их в другой
Помогите, пожалуйста, с заданием. Задание: «Составляющее текстового файла f, поделенное на...

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

Перезапись байтов в файле
Всем привет! Вопрос возможно к гуру. Подскажите как поменять в бинарном файле байт (или группу...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru