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

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

Войти
Регистрация
Восстановить пароль
 
barmagloteot
0 / 0 / 0
Регистрация: 14.11.2012
Сообщений: 29
#1

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

15.01.2013, 00:21. Просмотров 326. Ответов 5
Метки нет (Все метки)

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

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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <clocale>
using namespace std;
int main()
{
setlocale(LC_CTYPE,"Russian");
int size1=0;
cout<<"Введите размер файла"<<endl;
cin>>size1;
fstream f1("F1.txt");
cout<<"Введите элементы в файл 1"<<endl;
for (i=0; i<size1; i++)
{
    int v=0;
    cin>>v;
    f1<<v;
}
for (i=0; i<size1; i++)
{
    int v=0;
    f1>>v;
    cout<<"f"<<v<<endl;
}
    system("pause");
    return 0;
}
Взял код из видео на ютубе. Там он рабочий, но среда не VS.
У меня в VS соответственно он не корректен - показывает нули в файле. В чем ошибка?
И еще вопрос, куда и как вставлять режим trunc в приведенном выше способе вызова файла?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2013, 00:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Запись в файл (C++):

запись в файл. не создается файл - C++
#include &lt;graphics.h&gt; // vkljy4it' opisanie grafi4eskix fynkcij Ñ/Ñ++ Borland'ah #include&lt;stdio.h&gt; #include &lt;conio.h&gt; // opisanie...

запись в файл - C++
Как сделать, чтобы эта функция записывала именно символы в файл? у меня вместо символов квадратики if (wParam&gt;=0x041 || wParam&lt;=0x05A) ...

Запись в файл - C++
Дана программа: #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &lt;conio.h&gt; #include &lt;fstream&gt; using namespace std; char...

Запись в файл - C++
Ребята, когда я записываю в файл текст с помощью этого кода, то в файле получается первая строка пустая и только потом идет текст. Где у...

Запись в файл - C++
Доброе утро. Прошу подсказать и по возможности помочь. Есть ли возможность хранить двухмерную матрицу в самом откампилированном файла (exe)...

запись в файл - C++
подскажите пожалуйста при записе текста в файл как нужно изменить кодировку, а то при записи русского текста в файл .txt записывает...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Wolkodav
604 / 457 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
15.01.2013, 00:29 #2
Вы открываете файл, но не указываете какой он для записи или для чтения, а потом используете и для записи и для чтения. Так нельзя, если считываете а потом записываете в один и тот же файл, то в начале надо открыть как для чтения, считать, закрыть, открыть для записи, записать, закрыть. Да и закрывайте файлы в любом случае перед последним return, всё-таки надо подбирать за собой!
1
barmagloteot
0 / 0 / 0
Регистрация: 14.11.2012
Сообщений: 29
15.01.2013, 00:41  [ТС] #3
Странно, из того что прочитал следовало что fstream это ios::in|ios::out одновременно.
Пробую сделать в таком порядке: ofstream,fclose,ifstream,fclose.
Что то с fclose(f1) проблема, f1 считает за ошибку.

И все еще интересует куда в моем случае записать trunc.
0
Wolkodav
604 / 457 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
15.01.2013, 00:49 #4
Хм, возможно, я не уверен если честно, но вы не можете cin сразу ввести а потом вывести, тут тоже самое. Если вы указываете fstream, то надо указывать спецификацию, а если ifstream, и так далее, то не надо указывать и так понятно. Да, совет, если считали все что нужно из фаила, то закрывайте его, что бы потом не забыть!

Добавлено через 3 минуты
А что она делает если не сикрет? А её что-то не узнаю.
1
barmagloteot
0 / 0 / 0
Регистрация: 14.11.2012
Сообщений: 29
15.01.2013, 05:06  [ТС] #5
Эта - ничего, просто взял кусок с записью в файл из задания которое пишу, и добавил вывод из файла для наглядности. Просто чтобы разобраться в чем ошибка.

У меня с закрытием какая-то проблема. Сделал вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
cout<<"Введите размер файла"<<endl;
cin>>size1;
ofstream f1("F1.txt");
cout<<"Введите элементы в файл 1"<<endl;
for (i=0; i<size1; i++)
{
    int v;
    cin>>v;
    f1<<v;
    }
fclose(f1);
значение f1 в fclose() подчеркнуто как ошибка. Как это правильно записать ?

Добавлено через 4 часа 5 минут
Разобрался с close.
В моем случае нужно f1.close() а не fclose(f1).
Пишу дальше, и опять проблемы с файлами.

вот кусок кода:
C++
1
2
3
4
5
6
ifstream f1("F1.txt");
for (i=0; i<size1; i++)
{
    int v=0;
    f1>>v;
}
В последней строке ">>" считается ошибкой. "Отсутствует оператор соответствующий этим операндам".
Я уже вообще не понимаю как с этими файлами работать. Подскажите пожалуйста, в чем тут-то проблема.
0
Wolkodav
604 / 457 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
15.01.2013, 07:35 #6
f1.close();
это метод класса будет.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2013, 07:35
Привет! Вот еще темы с ответами:

Запись в файл - C++
Добрый день! Изучаю тему открытия файла для чтения и записи и мне кое-что непонятно в данной программе: #include &lt;fstream.h&gt; int...

Запись в файл - C++
Собствено у меня в програме функция записи в файл реализована следующим образом std::string fileName; std::cout &lt;&lt; &quot;Введите слово: &quot;;...

Запись в файл - C++
#include &lt;string&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; int main() { setlocale (LC_ALL, &quot;Russian&quot;); ofstream...

Запись в файл - C++
подскажите где я косячнул при записи в файл В общем суть такая косяк свой никак не найду . При открытии файла всё прекрасно...


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

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

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