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

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

Войти
Регистрация
Восстановить пароль
 
metallix
10 / 10 / 3
Регистрация: 07.09.2013
Сообщений: 48
#1

Чтение из файла и запись в переменную - C++

06.01.2014, 03:13. Просмотров 480. Ответов 8
Метки нет (Все метки)

всем привет)
Недавно начал изучение чтение и запись из/в файлы. Вот настряпал небольшой код:
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
29
30
31
32
33
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
 
 using namespace std;
 
int main(){
    
string str;
int size = 0;
 
fstream file;
file.open("msg.txt", fstream::in);
   if(file)
   {
    while(!file.eof())
        {
            file.get(str[size]);
            size++;
        }
   }
   else
     cout<<"File no found"<<endl;
    
    for(int i = 0; i < size; i++)
            {
                cout << str[i];
            }
           
    system("pause>>nul");
    return 0;
    }
Нужно что бы программа считывала текстовую информацию из файла и сохраняла её. Сохраняю я ее в string переменную, и потом пытаюсь вывести. Вроде бы всё правильно выводит, но как только пытаюсь закрыть окно т.е консоль, то вылетает ошибка что программа перестала работать, т.е. завершила работу аварийно.
И если пытаюсь закрыть работу с файлом - file.close() - то программа сразу же падает при запуске.
Вопрос - в чем может быть проблема ? Вариантов пробовал много. IDE - DevC++. В MVS2013 тоже самое =/
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2014, 03:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение из файла и запись в переменную (C++):

Чтение из файла в переменную типа string - C++
Добрый вечер! :) Вот делаю программу в одном из элементов которой нужно прочесть из файла в переменную типа string имя продукта так вот я...

Запись из файла в переменную - C++
#pragma hdrstop #pragma argsused #include &lt;tchar.h&gt; #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; #include...

Запись данных в переменную из текстового файла - C++
Пишу сокет приложение в Windows Form, есть textBox1, в нём должен содержатся IP сервера к которому нужно подключится. Считываю данные...

Запись и чтение из файла - C++
Доброго время суток! Так от балди решыл набросать прогу которая создаёт файл записывает туда 11 рандомных чисел,потом з помощю ifstream я...

Си, Запись и Чтение из файла. - C++
Глупый вопрос, но весь гугл перерыл. Нужно сделать именно на СИ(не на с++) чтение и запись в файл .txt . С использованием библиотеки...

Запись и чтение из файла - C++
Здравствуйте не могли бы мне помочь разобраться, что не так. Есть две программы, одна для записи в файл “Writer.exe” а для чтения...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
tdo22
10 / 10 / 1
Регистрация: 14.02.2013
Сообщений: 728
06.01.2014, 03:15 #2
а что если написать вместо
C++
1
system("pause>>nul");
это
C++
1
system("PAUSE");
сам в VS полный нуль
Skolos
0 / 0 / 0
Регистрация: 29.04.2013
Сообщений: 6
06.01.2014, 03:19 #3
Цитата Сообщение от metallix Посмотреть сообщение
system("pause>>nul");
* * return 0;
* * }
Или же вместо system("pause>>nul");
вбей getch();
завершится после нажатия клавиши.
metallix
10 / 10 / 3
Регистрация: 07.09.2013
Сообщений: 48
06.01.2014, 03:24  [ТС] #4
Цитата Сообщение от tdo22 Посмотреть сообщение
а что если написать вместо
C++
1
system("pause>>nul");
это
C++
1
system("PAUSE");
сам в VS полный нуль
C++
1
system("pause>>nul");
не выводит строку - "Press any key to continue";

C++
1
getch()
тоже не вариант, уже пробовал.
tdo22
10 / 10 / 1
Регистрация: 14.02.2013
Сообщений: 728
06.01.2014, 03:33 #5
Цитата Сообщение от metallix Посмотреть сообщение
не выводит строку - "Press any key to continue";

Не по теме:

хех, даже не знал, спасибо

outoftime
║XLR8║
509 / 431 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
06.01.2014, 03:43 #6
tdo22, Skolos, metallix, напомню что вы пишите на C++ а не на C.
C++
1
std::cin.ignore();
Вполне достаточно что-бы подождать ввода без оповещения.

Добавлено через 1 минуту
Цитата Сообщение от metallix Посмотреть сообщение
не выводит строку - "Press any key to continue";
Ну так выведите
C++
1
2
std::cout << "Press enter key to continue";
std::cin.ignore();
metallix
10 / 10 / 3
Регистрация: 07.09.2013
Сообщений: 48
06.01.2014, 13:56  [ТС] #7
Причем тут это ? system("pause>>nul") у меня всегда по дефолту стоит.
Попробуйте у себя этот код запустить несколько раз. и добавить file.close() после while() цикла.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.01.2014, 14:26 #8
Цитата Сообщение от metallix Посмотреть сообщение
Вроде бы всё правильно выводит, но как только пытаюсь закрыть окно т.е консоль, то вылетает ошибка что программа перестала работать, т.е. завершила работу аварийно.
C++
1
file.get(str[size]);
К пустой строке нельзя по индексу обращаться.

Добавлено через 7 минут
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
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
 
using namespace std;
 
int main()
{
    string str;
    
    ifstream file("msg.txt");
    if(file)
    {
        char ch;
        while(file.get(ch))
            str += ch;
 
        cout << str << endl;
    }
    else
        cout<<"File no found"<<endl;
    
    system("pause");
    return 0;
}
metallix
10 / 10 / 3
Регистрация: 07.09.2013
Сообщений: 48
06.01.2014, 14:34  [ТС] #9
Ах, вот оно что. Спасибо большое ))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.01.2014, 14:34
Привет! Вот еще темы с ответами:

Запись и чтение из файла - C++
Всем добрый вечер, как можно записать данные в файл? Например записать в txt файл список паролей. На одном сайте нашел информацию по...

Чтение и запись файла - C++
Странная ситуация читаю файл в вектор. Провожу над ним эксперимент, возвращаю точную копию считанного файла в новый файл с другим...

Запись и чтение из файла - C++
как записать в файл вывод массива OutputArray(), количество нулевых элементов NumNull(), массив с заменой нулевых элементов на единицу...

запись\чтение из файла - C++
У меня несколько вопросов по поводу запись\чтение из файла Как это вообще работает?) Чтобы потом читать из файла надо забивать каждое...


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

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

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