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

Ошибка при считывании строковых данных - C++

Восстановить пароль Регистрация
 
Slavytuch
0 / 0 / 0
Регистрация: 29.09.2013
Сообщений: 76
19.02.2014, 19:07     Ошибка при считывании строковых данных #1
Нужно просто считать русский текст из файла, выводит смайлики без пробелов.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
#include "fstream"
#include <iostream>
#include <clocale>
#include <string.h>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "rus");
    char text[500],el;
    int i = 0;
    ifstream inp("C:\\Logan\\Input.txt");
    while (el = inp.get()!= EOF)
        text[i++]= el;
    text[i] = '\0';
    for (int a=0; a < i; ++a)
        cout << text[a];
    cout << endl;
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2014, 19:07     Ошибка при считывании строковых данных
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
some_name
Вежливость-главное оружие
 Аватар для some_name
219 / 219 / 55
Регистрация: 19.02.2013
Сообщений: 1,419
19.02.2014, 19:26     Ошибка при считывании строковых данных #2
вот, там решение есть, просто в программа в ручную переводят кракозябли в нормальные символы.
Slavytuch
0 / 0 / 0
Регистрация: 29.09.2013
Сообщений: 76
19.02.2014, 21:28  [ТС]     Ошибка при считывании строковых данных #3
Полностью переделал код. Окончательный результат выводит на 1 символ больше чем в файле (почему-то буква "я") По заданию разбил на слова, выводит все кроме последнего слова и точки. При попытках увеличить счётчики выводит много букв "М". Где ошибка?
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
34
35
36
37
38
39
40
41
// Laboratornaya10.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "fstream"
#include <iostream>
#include <clocale>
#include <string.h>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "rus");
    char text[500],el,slovo[500][500];
    int num, kol=0,lg=0;
    ifstream inp("C:\\Logan\\Input.txt");
    for (num = 0; inp; ++num)
        text[num] = inp.get();
    --num;
    for (int i = 0; i <= num; ++i)
    {
        slovo[kol][lg] = text[i];
        ++lg;
        if (text[i] == ' ')
        {
            slovo[kol][lg]='\0'; ++kol; lg = 0;
        }
    }
    inp.close();
    for (int a=0; a < num; ++a)
        cout << text[a];
    cout << endl;
    for (int i = 0; i < kol; ++i){
        for (int j = 0; slovo[i][j] != '\0'; ++j)
            cout << slovo[i][j];
        cout << endl;
    }
    system("pause");
    return 0;
}
Yandex
Объявления
19.02.2014, 21:28     Ошибка при считывании строковых данных
Ответ Создать тему
Опции темы

Текущее время: 21:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru