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

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

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

Кривое считывание с файла - C++

28.01.2013, 21:08. Просмотров 321. Ответов 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
#include <iostream>
#include <fstream>
#include <string>
#include <locale.h>
using namespace std;
#include <windows.h>
int main()
{
    setlocale(LC_ALL,"Russian");
    string str="Vremya-velikiy ychitel,no,yvi, ono ybivaet svoih ychenikov. Berlioz";
    ofstream outfile("TEST1.TXT");
    for(int j=0;j<str.size();j++)
        outfile.put(str[j]);
    cout<<"Файл записан!"<<endl;
    
    char ch;
    ifstream infile("TEST1.TXT");
    while(infile)
    {
        infile.get(ch);
        cout<<ch;
    }
    cout<<endl;
    return 0;
}

Записывает на Файл он то,что надо,а вот выводит с него уже полный бред. У меня вывело символ мелодиию
Пользуюсь хрюшей и VS 2008 express
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2013, 21:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Кривое считывание с файла (C++):

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

Считывание файла в массив и запись нового файла - C++
Консоль VS C++. Текстовый файл открывается как бинарный, и считывается по 100 байт в массив - и сразу они переписываются в другой файл. В...

считывание с файла - C++
файл содержит data.txt: 200 185 170 160 76 54.9 39 27 7.5 10.7 12.9 15.9 6.5 7.9 12 12 ...

Считывание с файла - C++
Задание 1: Считать с файла и найти количество слов из 4 и менее букв. (test.txt по умолчанию в папке с программой) Вопрос: Почему он...

Считывание файла - C++
Как можно считать из файла строку 110011, как массив чисел, заранее спасибо!

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

5
Starscream
55 / 43 / 2
Регистрация: 04.11.2012
Сообщений: 106
28.01.2013, 21:56 #2
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
#include <iostream>
#include <fstream>
#include <string>
#include <locale.h>
using namespace std;
#include <windows.h>
int main()
{
    setlocale(0 ,"Russian");
    char str[]= {"Vremya-velikiy ychitel,no,yvi, ono ybivaet svoih ychenikov. Berlioz"};
    ofstream outfile("TEST1.TXT");
    for(int j=0;j<= strlen(str) - 1;j++)
        outfile.put(str[j]);
    cout<<"Файл записан!"<<endl;
    outfile.close();
 
    char ch;
    ifstream infile("TEST1.TXT");
    while(!infile.eof())
    {
        ch = infile.get();
        cout << ch;
    }
    cout<<endl;
    system("pause");
    return 0;
}
вот так все нормуль
1
BORSHEVIK
0 / 0 / 0
Регистрация: 20.08.2012
Сообщений: 29
28.01.2013, 22:19  [ТС] #3
Спасибо,теперь я понял в чём была моя ошибка... Вообще я учусь программировать на С++,читаю книгу,а там часто ошибки в листингах,и меня это бесит,но всё же это лучше,когда сам чего-то находишь,так лучше запомнить,теперь я точно буду знать,что нужно закрывать файлы,тогда беды не будет,спасибо за обьяснение
0
Starscream
55 / 43 / 2
Регистрация: 04.11.2012
Сообщений: 106
28.01.2013, 22:21 #4
Кстати текст на русском тоже записывается и выводится нормально , или так было задуманно написать транслитом ?)
0
BORSHEVIK
0 / 0 / 0
Регистрация: 20.08.2012
Сообщений: 29
28.01.2013, 22:26  [ТС] #5
не,так не было задуманно,просто у меня с выводом из строковых типов тоже были проблемы,выводило ересь

Добавлено через 3 минуты
Цитата Сообщение от Starscream Посмотреть сообщение
Кстати текст на русском тоже записывается и выводится нормально , или так было задуманно написать транслитом ?)
Дело в том,что я загоняю русский текст в строку,а выводит она бред тот же,что,если не использовать setlocale
0
Gepar
1177 / 533 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
28.01.2013, 22:33 #6
Цитата Сообщение от BORSHEVIK Посмотреть сообщение
не,так не было задуманно,просто у меня с выводом из строковых типов тоже были проблемы,выводило ересь
Чтобы этого не случалось дописывай в коде мейна вначале
C++
1
2
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
При этом незабывай подключать windows.h + в свойствах консоли выставь шрифт Lucida console ну и на этом проблемы с русским выводом закончаться
1
28.01.2013, 22:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2013, 22:33
Привет! Вот еще темы с ответами:

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

Считывание из файла - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;fstream&gt; #include &lt;vector&gt; using namespace std; void...

Считывание из файла - C++
#include &lt;iostream&gt; #include &lt;time&gt; #include &lt;fstream&gt; using namespace std; int linear_search(int array, int size, int...

считывание с файла - C++
помогите, пожалуйста, нужно считать с файла ряд целых чисел и переписать его куда-то чтобы потом можно было сделать с ним операции


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

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

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