Форум программистов, компьютерный форум CyberForum.ru

как отключить перезапись файла? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
slavka_online
 Аватар для slavka_online
1 / 1 / 0
Регистрация: 06.11.2012
Сообщений: 97
06.11.2012, 21:08     как отключить перезапись файла? #1
C++
1
2
3
4
5
6
7
8
9
10
11
void outputMassiv (int *arr, int Nr)
{ ofstream outfile;
outfile.open("D:/stroka.txt");
 
    for (int i=0; i<Nr; i++){
cout <<setw(4) << arr[i];
outfile <<arr[i];
outfile <<" ";
outfile.close();}
 
}
вот пример функции вывода массива в файл, все бы вроде бы хорошо, но вот когда я опять открываю этот файл для вывода туда адресов массива файл перезаписывается, как сделать так что бы файл не перезаписывался? т.е чтобы вывод был как в консоль
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2012, 21:08     как отключить перезапись файла?
Посмотрите здесь:

C++ как отключить _CRT_SECURE_NO_WARNINGS ?
Перезапись данных из одно fit файла в другой fit файл C++
Перезапись char при чтении из файла C++
Как отключить? C++
Как отключить инлайн в MSVS2008? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
06.11.2012, 21:16     как отключить перезапись файла? #2
C++
1
fstream outfile("D:/stroka.txt", ios::out | ios::app);
slavka_online
 Аватар для slavka_online
1 / 1 / 0
Регистрация: 06.11.2012
Сообщений: 97
06.11.2012, 21:37  [ТС]     как отключить перезапись файла? #3
в какой строке кода это нужно написать? и вообще где можно побольше почитать о функциях работы с файлами и их содержимыми, например как найти наибольшее слово в строке, которая лежит в файле, и как заставить чтобы при переписывании строки из файла в массив, сохранялись пробелы? буду благодарен, если скажите где это можно прочитать.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
06.11.2012, 21:41     как отключить перезапись файла? #4
Цитата Сообщение от slavka_online Посмотреть сообщение
в какой строке кода это нужно написать?
Вместо того как ты открываешь файл, т.е. вместо
C++
1
2
ofstream outfile;
outfile.open("D:/stroka.txt");
Цитата Сообщение от slavka_online Посмотреть сообщение
где можно побольше почитать о функциях работы с файлами и их содержимыми
Как минимум в гугле. Я тоже не знал ответа, но нашёл, пяти минут не потратив.
"С++ open file stream to append"

https://www.google.ru/search?ie=UTF-...w=1280&bih=854
2я же ссылка:http://en.allexperts.com/q/C-1040/ap...a-enf-text.htm
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
06.11.2012, 21:43     как отключить перезапись файла? #5
Цитата Сообщение от slavka_online Посмотреть сообщение
о функциях работы с файлами и их содержимыми, например как найти наибольшее слово в строке, которая лежит в файле
Считываете в цикле построчно данные в файле в массив и работаете с символами массива. Чтобы считать строку целиком подойдет метод getine():
C++
1
2
3
4
5
6
7
8
9
ifstream file;
char str[100];
file.open("file.txt");
while (file.good())
{ 
 file.getline(str,100); // считываем строку в str, к примеру, считать 100 символов
 //действия над строкой
}
file.close();
slavka_online
 Аватар для slavka_online
1 / 1 / 0
Регистрация: 06.11.2012
Сообщений: 97
06.11.2012, 21:52  [ТС]     как отключить перезапись файла? #6
Цитата Сообщение от BumerangSP Посмотреть сообщение
Считываете в цикле построчно данные в файле в массив и работаете с символами массива. Чтобы считать строку целиком подойдет метод getine():
C++
1
2
3
4
5
6
7
8
9
ifstream file;
char str[100];
file.open("file.txt");
while (file.good())
{ 
 file.getline(str,100); // считываем строку в str, к примеру, считать 100 символов
 //действия над строкой
}
file.close();
я делал так, но строку "это работает" от записывал как "этоработает"

Добавлено через 1 минуту
Kuzia domovenok, во теперь работает, осталось только придумать как очищать этот файл перед запуском программы, что бы прошлый мусор не хранить
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
06.11.2012, 22:01     как отключить перезапись файла? #7
Цитата Сообщение от slavka_online Посмотреть сообщение
осталось только придумать как очищать этот файл перед запуском программы, что бы прошлый мусор не хранить
Тебя не поймёшь: то тебе не надо,чтобы файл с нуля перезаписывался, то наоборот "мусор не хранить". Ты уж определись: перезаписывать тебе файл или в конец добавлять.
slavka_online
 Аватар для slavka_online
1 / 1 / 0
Регистрация: 06.11.2012
Сообщений: 97
06.11.2012, 22:08  [ТС]     как отключить перезапись файла? #8
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Тебя не поймёшь: то тебе не надо,чтобы файл с нуля перезаписывался, то наоборот "мусор не хранить". Ты уж определись: перезаписывать тебе файл или в конец добавлять.
Смотри, у меня в консоле выводится: массив А, массив В, адреса А, адреса В, так же и в файл сейчас, просто я бы хотел что бы при новом запуске проги файл очищался и туда заново записывалась информация.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
06.11.2012, 22:22     как отключить перезапись файла? #9
Если тебе нужно перезаписать файл - не ставишь флаг ios::app
Если тебе не нужно перезаписать файл - ставишь флаг ios::app
В чём проблема? Ты сам определись, что тебе нужно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2012, 22:26     как отключить перезапись файла?
Еще ссылки по теме:

Как отключить опцию GX в компиляторе C++
C++ Как отключить backspace
Ofstream перезапись выборочных частей файла C++

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

Или воспользуйтесь поиском по форуму:
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
06.11.2012, 22:26     как отключить перезапись файла? #10
Цитата Сообщение от slavka_online Посмотреть сообщение
я делал так, но строку "это работает" от записывал как "этоработает"
Как? Через getline()? Уверены? Речь ведь идет о считывании из файла в массив?
Yandex
Объявления
06.11.2012, 22:26     как отключить перезапись файла?
Ответ Создать тему
Опции темы

Текущее время: 11:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru