Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/91: Рейтинг темы: голосов - 91, средняя оценка - 4.67
15 / 15 / 5
Регистрация: 10.01.2011
Сообщений: 275
1

Запись в файл fstream

17.11.2011, 17:10. Просмотров 18902. Ответов 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;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2011, 17:10
Ответы с готовыми решениями:

Запись в файл fstream
После первого прогона не выводит ничего из файла. void WriteInTheFile(fstream &amp;file_in) {...

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

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

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

7
Каратель
Эксперт С++
6598 / 4019 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
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 раз открывать?
1
15 / 15 / 5
Регистрация: 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;
}
0
Каратель
Эксперт С++
6598 / 4019 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
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);
0
15 / 15 / 5
Регистрация: 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);
0
Каратель
Эксперт С++
6598 / 4019 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
17.11.2011, 17:48 6
Цитата Сообщение от bearwoolfs Посмотреть сообщение
// А зачем тут скобки ??? к чему они ?
заполнить массив нулями, вы забываете про 0 означающий конец строки что приводит к
Цитата Сообщение от bearwoolfs Посмотреть сообщение
lНННННННННllННННННННlllНННННННllllННННННlllllНННННllllllНННН lllllllНННllllllllНН lllllllllНllllllllll
1
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;
}
0
Модератор
Эксперт С++
10395 / 8667 / 5245
Регистрация: 18.12.2011
Сообщений: 23,187
07.02.2015, 14:43 8
DZeeL, зачем Вам понадобилось отвечать на сообщение
сделанное в 2011 году, да еще и со всеми старыми ошибками?
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.02.2015, 14:43

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

Класс, производный от fstream, чтение и запись
Всем доброго времени суток. у меня есть класс, производный от fstream class Clist : public...

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

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

Fstream не видит файл
Почему в Visual Studio2015 не находит текстовый файл, который лежит рядом с .exe? ...


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

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

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