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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 90, средняя оценка - 4.86
bearwoolfs
15 / 15 / 1
Регистрация: 10.01.2011
Сообщений: 275
#1

Запись в файл fstream - C++

17.11.2011, 17:10. Просмотров 12578. Ответов 7
Метки нет (Все метки)

Вот такой вот код , изобразил я для записи переменной в файл , проблема в том , что компилятор записывает в него не 10 раз L , а lННННННННН в чем причина ?

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
#include <iostream>
#include <string>
#include <fstream>
 
using namespace std;
 
int main()
{
    ofstream myfile;// переменная класса ofstream 
 
 char * buffer;// символьный указатель
 const long int size=10;// константная переменная типа int lohg 
 
 buffer = new char[size];// указателю присваиваеться массив типа char 
 for(int i=0;i<10;i++)
 {
buffer[i]='l'; 
myfile.open("M.txt");
myfile.write(buffer,size);
 
 }
 myfile.close();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2011, 17:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Запись в файл fstream (C++):

Запись в файл fstream - C++
После первого прогона не выводит ничего из файла. void WriteInTheFile(fstream &amp;file_in) { file_in.seekg(0,file_in.end); char str;...

fstream: открытие на запись - C++
fstream a(&quot;file.txt&quot;,ios::out); a&lt;&lt;&quot;abc\n&quot;; a.close(); Перезаписывает файл полностью даже без флага ios::trunc. fstream...

Запись в середину файла - fstream - C++
Как можно при помощи fstream (хотелось бы именно им, потому что он умеет и читать, и писать) записать что-либо в середину файла (или куда...

fstream не работает и чтение и запись - C++
Добрый день! Не пойму, почему введение функции getline становится причиной того, что запись в файл не идет. Если getline убрать, то все...

Запись/чтение структуры через fstream - C++
Доброго времени суток! у меня есть несколько вопросов по поводу файловых потоков. 1. Как можно записать/прочитать массив структур в...

Запись/чтение структур (файлы) + разница между FILE * и <fstream> - C++
Всем привет. Порыскал по форуму, погуглил... Решения есть, но они не ясны (что, почему да как) и не все работают. Однако, я так и не нашёл...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
17.11.2011, 17:15 #2
Цитата Сообщение от bearwoolfs Посмотреть сообщение
C++
1
2
3
4
for(int i=0;i<10;i++)
 {
buffer[i]='l'; 
myfile.open("M.txt");
а файл то нафига 10 раз открывать?
bearwoolfs
15 / 15 / 1
Регистрация: 10.01.2011
Сообщений: 275
17.11.2011, 17:18  [ТС] #3
Отжог Я
Теперь он вот так выдал :
lНННННННННllННННННННlllНННННННllllННННННlllllНННННllllllННННlllllllНННllllllllННlllllllllНllllllllll

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
#include <iostream>
#include <string>
#include <fstream>
 
using namespace std;
 
int main()
{
    ofstream myfile;// переменная класса ofstream 
 
 char * buffer;// символьный указатель
 const long int size=10;// константная переменная типа int lohg 
 
 
 buffer = new char[size];// указателю присваиваеться массив типа char 
myfile.open("M.txt");
 for(int i=0;i<10;i++)
 {
buffer[i]='l'; 
myfile.write(buffer,size);
 
 }
 myfile.close();
    return 0;
}
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
17.11.2011, 17:18 #4
C++
1
2
3
4
5
6
const long int size = 11; 
buffer = new char[size]();
for(int i = 0;i < 10; ++i)
    buffer[i] = 'l'; 
myfile.open("M.txt");
myfile.write(buffer,size);
bearwoolfs
15 / 15 / 1
Регистрация: 10.01.2011
Сообщений: 275
17.11.2011, 17:29  [ТС] #5
Опять не понял

Цитата Сообщение от Jupiter Посмотреть сообщение
C++
1
2
3
4
5
6
const long int size = 11; 
buffer = new char[size]();// А зачем тут скобки ??? к чему они ?
for(int i = 0;i < 10; ++i)
    buffer[i] = 'l'; 
myfile.open("M.txt");
myfile.write(buffer,size);
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
17.11.2011, 17:48 #6
Цитата Сообщение от bearwoolfs Посмотреть сообщение
// А зачем тут скобки ??? к чему они ?
заполнить массив нулями, вы забываете про 0 означающий конец строки что приводит к
Цитата Сообщение от bearwoolfs Посмотреть сообщение
lНННННННННllННННННННlllНННННННllllННННННlllllНННННllllllННННlllllllНННllllllllНН lllllllllНllllllllll
DZeeL
0 / 0 / 0
Регистрация: 07.02.2015
Сообщений: 1
07.02.2015, 13:09 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
#include <fstream>
 
using namespace std;
 
int main()
{
    ofstream myfile;
    char * buffer;
    buffer = new char[5]();
    myfile.open("M.txt");
    for (int i = 0; i < 5;++i)
    {
        buffer[i] = 'l';
        myfile.write(buffer, i);
    }
    myfile.close();
    system("pause");
    return 0;
}
zss
Модератор
Эксперт С++
6359 / 5923 / 1920
Регистрация: 18.12.2011
Сообщений: 15,223
Завершенные тесты: 1
07.02.2015, 14:43 #8
DZeeL, зачем Вам понадобилось отвечать на сообщение
сделанное в 2011 году, да еще и со всеми старыми ошибками?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2015, 14:43
Привет! Вот еще темы с ответами:

Fstream не видит файл - C++
Почему в Visual Studio2015 не находит текстовый файл, который лежит рядом с .exe? ifstream F; F.open(&quot;vacancy.txt&quot;); char...

Fstream не видит файл - C++
Делаю лабу и возникла такая проблема - надо открыть текстовый файл. Файл лежит в одной папке c .exe . Но программа упорно не видит файл. ...

fstream удалить/создать файл - C++
Подскажите как с помощью библиотека fstream можно создать/удалить файл ?

Не перезаписывается файл. Работа с fstream - C++
Есть такой код std::fstream settingFile; Poco::Util::Application&amp; app = Poco::Util::Application::instance(); std::string...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.02.2015, 14:43
Ответ Создать тему
Опции темы

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