19.12.2018, 15:51 [+3 UTC]
в нашей команде: 3 246 чел. | участники онлайн: 16 (рекорд: 20)

:: РЕГИСТРАЦИЯ

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.59 (18.12.2018)

Общие новости:
18.12.2018, 00:02

Форум:
18.12.2018, 14:33

Последний вопрос:
19.12.2018, 15:08

Последний ответ:
19.12.2018, 14:20

Последняя рассылка:
19.12.2018, 12:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
11.07.2012, 11:49 »
Заречнева Вера Михайловна
спасибо [вопрос № 186440, ответ № 271332]
12.01.2012, 22:06 »
korsar
Не совсем то, что я хотел, но за альтернативный вариант всё равно спасибо. [вопрос № 185141, ответ № 269534]
18.04.2012, 15:41 »
Arman Muratuly
Очень подробно. Спасибо. [вопрос № 185840, ответ № 270559]

РАЗДЕЛ • С / С++

Создание программ на языках C и C++.

[администратор рассылки: Андрей Кузнецов aka Dr_Andrew (Старший модератор)]

Лучшие эксперты в этом разделе

Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 167
solowey
Статус: Студент
Рейтинг: 165
Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 103

Перейти к консультации №:
 

Консультация онлайн # 189000
Раздел: • С / С++
Автор вопроса: Посетитель - 399158 (Посетитель)
Отправлена: 21.03.2016, 17:40
Поступило ответов: 1

Здравствуйте! Прошу помощи в следующем вопросе:
Мне нужно добавить букву в начало файла, вот я сделал функцию,но у меня пишет ошибку в этой строке:fout << c; можете объяснить, почему так и исправить?

void AddBegin(int n)//добавление буквы в начало файла
{
char c;
ifstream fout("artem55555p.txt", ios::app);
cout << "Введите символ в начало файла:";
cout << endl;
fout.seekg(0);
cin >> c;
fout << c;
fout.close();
}

Состояние: Консультация закрыта

Ответ # 273512 от Андрей Кузнецов aka Dr_Andrew (Старший модератор)

Здравствуйте, Посетитель - 399158!

Удобнее всего выполнить задачу с использованием объектов класса string и stringstream. Подробности в коде:

#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std;
//------------------------------------------------------------
void AddBegin() // добавление буквы в начало файла
{
    // Буфер для сохранения символов
    stringstream Content;
    
    // Открываем файл для чтения
    ifstream FileIn("artem55555p.txt", ios::in);
    
    // Сохраняем его содержимое в буфер
    Content << FileIn.rdbuf();
    FileIn.close();
    
    string sSymbol;
    cout << "Введите символ для записи в начало файла: ";
    cin >> sSymbol;
    
    // Сохраняем содержимое буфера в строковую переменную
    string sContent = Content.str();
    
    // Записываем символ, введённый с клавиатуры, в начало 
    // строки
    sContent = sSymbol + sContent;
    
    // Открываем файл на запись...
    ofstream FileOut("artem55555p.txt");
    // и заменяем его содержимое новым
    FileOut << sContent;
    FileOut.close();
}
//------------------------------------------------------------
int main()
{
    AddBegin();
    return 0;
}


Консультировал: Андрей Кузнецов aka Dr_Andrew (Старший модератор)
Дата отправки: 22.03.2016, 13:08

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 189000
Асмик Гаряка
Советник

ID: 230118

# 1

= общий = | 21.03.2016, 17:53 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Флаг ios::app означает, что добавление должно происходить в конец файла. Чтобы решить задачу, нужно создать новый файл, записать в него ваш символ, а потом содержимое старого файла.

Посетитель - 399158
Посетитель

ID: 399158

# 2

= общий = | 21.03.2016, 18:15 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Да. я так сделал и все получилось, просто хотел как-то через указатель, но не вышло)

 

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

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.15345 сек.

© 2001-2018, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.59 от 18.12.2018