The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"C++ Разбивка строки с кириллицей"
Отправлено Heretic, 17-Окт-08 13:04 
Имеется небольшая программа, которая получает строки из файла и с определенного символа разбивает его выводя на экран, то что, соответственно, разбила. Но вывод у меня получается кривой, например:
�С СПб Мегафон         1:00
Как победить такую проблему? Заранее спасибо.

Код программы и содержимое текстового файлика ниже.


$less ./1.cpp
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
int main() {
    vector<string> v;
    string str_t, str;
    char intchar;
    ifstream in ("1.txt"); //Открываем поток для файла
    while (in.get(intchar)) { //Читаем посимвольно
        if (intchar == '\n') { //Если символ является переводом строки то ..
            v.push_back(str); // добавляем строку в массив
            str.erase(); // отчищаем строку
        } else {
            str += intchar; //иначе добавляем символы в строку
        };
    };
    in.close(); // Заканчиваем работу с файлом
    for (unsigned int i=0; i<v.size(); i++) {
            for (int k=51;k<=103;k++) {
                str_t+=v[i][k];
            };
            cout << str_t << endl;
            str_t.clear();
    };
};

$less ./1.txt
134-65-10  01/09  14:04        8-921-946-19-50  СПС СПб Мегафон         1:00                       1.50
134-65-10  01/09  14:05        8-911-167-24-24  СПС СПб Телеком 21      1:00                       1.50

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру