Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 36, средняя оценка - 4.81
OVERPOWER8
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
#1

Как записать текст в файл, не меняя его содержимого? - C++

24.12.2009, 23:13. Просмотров 4567. Ответов 10
Метки нет (Все метки)

Здравствуйте.

Как записать текст В файл, не меняя его содержимого?

У меня есть функция, которая записывает текст в файл, но она удаляет прежнее содержание. А нужно, чтобы только вставляла текст. Подскажите, как переделать функцию? (или еще что-то)

C++
1
2
3
4
5
6
7
8
9
void writetofile(fstream &file, int from, char* buf)
{
    file.seekg(from);
    int len=strlen(buf);
    len++;
    char str[len];
    strcpy(str, buf);
    file << endl << str << endl;
}
C++
1
2
3
4
5
6
7
8
9
10
int main() 
{ ...
 
File.open(filename, ios::in | ios::out);
char text[]="Some text";
writetofile(File, 160, text);
File.close();
 
...
}
Пробовал также с помощью file.write(), но результат один и тот же. Мне видится только один способ - тупо копировать содержимое файла в буфер (strcat) и потом записать в файл. Но ведь есть же другой способ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2009, 23:13
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как записать текст в файл, не меняя его содержимого? (C++):

Как записать текст в файл
Вот у меня такое дело. Я хочу збереч даные в файл тхт и хочу чтоб при нажатии...

Как записать текст из Memo в файл?
Скажите пожалуйста как записать в файл введенное слово в поле Memo1 к примеру,...

Как можно записать видео на экране и сохранить его в avi файл?
Привет всем у меня такой вопрос, как можно записать видео на екране и...

Хочу записать текст в мемо в файл встолбик
Вот попытка, но не получается for (int i = 0; i &lt; Memo1-&gt;Lines-&gt;Count; i++)...

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

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

10
kazak
3057 / 2378 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
25.12.2009, 00:56 #2
Вместо ios::in ios::out используй ios::app или ios::ate
0
OVERPOWER8
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
25.12.2009, 01:12  [ТС] #3
Цитата Сообщение от kazak Посмотреть сообщение
Вместо ios::in ios::out используй ios::app или ios::ate
В таком случае вообще ничего не записывается.

>> kazak

Если вам не сложно, то приведите пример.
0
accept
4833 / 3254 / 454
Регистрация: 10.12.2008
Сообщений: 10,569
25.12.2009, 06:31 #4
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
 
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    ofstream ofile;
    
    if (argc == 1) {
        cerr << "usage: prog string ..." << endl;
        return 1;
    }    
    
    ofile.open("file.txt", ios::app);
    
    if (ofile.is_open() == 0) {
        cerr << "error: file" << endl;
        return 1;
    }
    
    while (argc--)
        ofile << *++argv << endl;
    
    ofile.close();
    
    return 0;
}
0
DYNOS
2 / 2 / 1
Регистрация: 05.06.2009
Сообщений: 9
25.12.2009, 07:09 #5
http://shitstream.ru/0xB62A3
0
kazak
3057 / 2378 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
25.12.2009, 11:42 #6
Цитата Сообщение от kazak Посмотреть сообщение
Вместо ios::in ios::out используй ios::app или ios::ate
Поправлюсь ios::in | ios::out | ios::app или ios::in | ios::out | ios::ate
Модификатор ate сохраняет содержимое файла, если он существует, и усатанавливает указатель в конец файла при открытии; app - то же самое, с той лишь разницей, что устанавливает указатель в конец файла перед каждой записью в файл (т.е. записывать можно только в конец файла).
2
accept
4833 / 3254 / 454
Регистрация: 10.12.2008
Сообщений: 10,569
25.12.2009, 12:51 #7
ate - виндовая добавка, вроде
1
Миниатюры
Как записать текст в файл, не меняя его содержимого?  
kazak
3057 / 2378 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
25.12.2009, 13:12 #8
На cplusplus.com о винде ничего не упоминалось.
0
accept
4833 / 3254 / 454
Регистрация: 10.12.2008
Сообщений: 10,569
25.12.2009, 13:20 #9
да, что-то есть, только непонятно, что он делает
0
Миниатюры
Как записать текст в файл, не меняя его содержимого?  
Ал2002
0 / 0 / 0
Регистрация: 14.02.2014
Сообщений: 2
14.02.2014, 23:06 #10
Я попытался сделать самую простую версию блокнота
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <iostream.h>
#include <fstream.h>
using namespace std;
void main() {
    ofstream txt;
    txt.open("C:\\dm\\bin\\newtxt.txt", ios::app);
    while (true) {
        int character = getchar();
        txt << character;
        cout << character;
    }
    txt.close();
}
Файл после любых манипуляций с экзешником пустой.
Объясните, пожалуйста, причину, если можете.
0
kazak
3057 / 2378 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
15.02.2014, 09:21 #11
Цитата Сообщение от Ал2002 Посмотреть сообщение
C++
1
2
txt.open("C:\\dm\\bin\\newtxt.txt", ios::app);
while (true) {
Для начала
C++
1
2
3
4
5
6
7
txt.open("C:\\dm\\bin\\newtxt.txt", ios::app);
if (!txt.is_open())
{
   cout << "Can't open file." << endl;
   exit(1);
}   
while (true) {
1
15.02.2014, 09:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2014, 09:21
Привет! Вот еще темы с решениями:

Как записать текст из Memo в массив
Нужно записать в массив(символьный или строковый, точно не знаю, какой...

Как записать звук с микрофона и воспроизвести его?
Подскажите как записать звук с микрофона (можно в wav файл но желательно в...

Как незаметно для пользователя открыть файл и записать его содержимое в переменную?
День всем добрый! Я тут занимался одной консольной программой. Недавно...

Ввести текст и просто сохранить его в файл
Вот у меня есть пустой файл Txt.txt , как мне правильно ввести текст в консоле,...


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

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

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