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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
Hi4ko
74 / 74 / 4
Регистрация: 21.10.2010
Сообщений: 376
#1

Wstring и файловый поток - C++

21.11.2011, 14:15. Просмотров 1460. Ответов 13
Метки нет (Все метки)

Беда за бедой, я уже 2 тему создаю.
Короче из-за того, что теперь я использую вместо string Wstring не знаю, как грамотно файловый поток устроить в программе.

Одна из попыток
C++
1
2
3
4
5
6
7
8
9
10
{
    FILE * pFile;
    pFile = freopen ("input.txt" , "r", stdin);
       wstring s; 
    do
    {
             wcin>>s;
        wcout<<s<<endl;
    }while( !feof(pFile));
}
Выводит бесконечное кол-во пустых строк.
input.txt : Александр Сергеевич Пушкин
Кодировка: Unicode UTF - 16

и 2 вопрос: с wstring можно ведь работать, как с массивом?)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2011, 14:15     Wstring и файловый поток
Посмотрите здесь:

Как вывести std::wstring в поток? - C++
Как вывести std::wstring в поток, если в строке есть кириллица?

Вывод в файловый поток - C++
проверьте код // ooooo.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include &lt;iostream.h&gt; ...

Передать в функцию файловый поток - C++
Помогите пожалуйста с файловыми потоками! Мне нужно передать в функцию файловый поток, там его открыть,для определенного файла и дальше в...

Файловый поток вне main() - C++
Есть программа вывода на экран консоли через cout, решил заменить cout на out, вывод через функцию свою #include &lt;iostream&gt; #include...

Файловый поток узнать количество строк - C++
Вопрос простой, нужно узнать количество строк в файле.

Объясните код, пожалуйста, файловый поток - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; using namespace std; void main() { setlocale(LC_ALL, &quot;&quot;); ...

С++, Разбитие файла, битый файл, Файловый поток - C++
Суть, нужно разбить файл,(у многих будут болеть глаза от этого кода, так что извиняюсь, это просто сырой кусок кода, относитесь так к...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
21.11.2011, 15:03     Wstring и файловый поток #2
Hi4ko, Зачем FILE? w[o|i]fstream чем не устроило?
Hi4ko
74 / 74 / 4
Регистрация: 21.10.2010
Сообщений: 376
21.11.2011, 15:09  [ТС]     Wstring и файловый поток #3
Цитата Сообщение от ForEveR Посмотреть сообщение
Hi4ko, Зачем FILE? w[o|i]fstream чем не устроило?
C++
1
2
3
4
5
6
7
8
   
    ifstream in("input.txt");
wstring temp; 
    do
    {
             win>>temp;
        wcout<<temp<<endl;
    }while(!in.eof());
не работает.
Напишите, пожалуйста, код(
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
21.11.2011, 15:21     Wstring и файловый поток #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <fstream>
#include <string>
 
int main()
{
   std::wifstream wifs("file.txt");
   std::wstring value;
   while (wifs >> value)
   {
      std::wcout << value << std::endl;
   }
}
bearwoolfs
15 / 15 / 1
Регистрация: 10.01.2011
Сообщений: 275
21.11.2011, 15:34     Wstring и файловый поток #5
А почему компилятор размещает , каждое слово на новой строке ???
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
21.11.2011, 15:39     Wstring и файловый поток #6
bearwoolfs, Что-что компилятор делает?
bearwoolfs
15 / 15 / 1
Регистрация: 10.01.2011
Сообщений: 275
21.11.2011, 15:50     Wstring и файловый поток #7
Цитата Сообщение от ForEveR Посмотреть сообщение
bearwoolfs, Что-что компилятор делает?
Ну компилятор считывает весь текст
C++
1
std::wifstream wifs("L.txt");
из файла вроде так ?
C++
1
 while (wifs >> value)
читаем до тех пор пока не вернется true

текст в L.txt он считал , и расположил все в столбец было : true false true выдал
true
false
true

А почему ???
Hi4ko
74 / 74 / 4
Регистрация: 21.10.2010
Сообщений: 376
21.11.2011, 15:50  [ТС]     Wstring и файловый поток #8
Цитата Сообщение от ForEveR Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <fstream>
#include <string>
 
int main()
{
   std::wifstream wifs("file.txt");
   std::wstring value;
   while (wifs >> value)
   {
      std::wcout << value << std::endl;
   }
}
output:
terminate called after throwing an instance of 'std::ios_base::failure'
what(): basic_filebuf::underflow invalid byte sequence in file
Aborted
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
21.11.2011, 15:57     Wstring и файловый поток #9
Hi4ko, Кодировка неверная. У меня в utf-16 нормально считывает.

Добавлено через 1 минуту
bearwoolfs, Читает он до тех пор пока не будет конец файла. Но на каждой итерации цикла считывание идет до пробела - а вывод в цикле идет с переводом строки.
Hi4ko
74 / 74 / 4
Регистрация: 21.10.2010
Сообщений: 376
21.11.2011, 16:09  [ТС]     Wstring и файловый поток #10
Цитата Сообщение от ForEveR Посмотреть сообщение
Hi4ko, Кодировка неверная. У меня в utf-16 нормально считывает.

Добавлено через 1 минуту
bearwoolfs, Читает он до тех пор пока не будет конец файла. Но на каждой итерации цикла считывание идет до пробела - а вывод в цикле идет с переводом строки.
у моего файла тоже UTF-16 стоит (
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
21.11.2011, 16:15     Wstring и файловый поток #11
Hi4ko, Значит данные записаны не в UTF-16.
Вообще тут работа с локалями, нужно фасет установить верный и т.д.
igorrr37
1641 / 1269 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
21.11.2011, 16:32     Wstring и файловый поток #12
Hi4ko, для работы с кодировками скачай либу libiconv
http://sourceforge.net/projects/ming....lzma/download
и документацию к ней
http://sourceforge.net/projects/ming....lzma/download
либа простейшая, и проблем с кодировками не будет
Hi4ko
74 / 74 / 4
Регистрация: 21.10.2010
Сообщений: 376
21.11.2011, 16:33  [ТС]     Wstring и файловый поток #13
Цитата Сообщение от igorrr37 Посмотреть сообщение
Hi4ko, для работы с кодировками скачай либу libiconv
http://sourceforge.net/projects/ming....lzma/download
и документацию к ней
http://sourceforge.net/projects/ming....lzma/download
либа простейшая, и проблем с кодировками не будет
Почему написано MinGW - Minimalist GNU for Windows?
я на linux
Сейчас посмотрим
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2011, 16:42     Wstring и файловый поток
Еще ссылки по теме:

Указатель на файловый поток в качестве параметра функции - C++
Здравствуйте! Хочется/нужно написать что-то вроде функции которая читала бы из файлового потока передаваемого ей в качестве параметра....

Файловый поток вместо одного слова считывает два, почему? - C++
Друзья! Вот код #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main () { ifstream ifs...

Файловый поток: записать в другой файл различные числа исходного файла - C++
Дан файл целых чисел. Записать в другой файл различные числа исходного файла.

Необходимо чтобы каждый поток (не файловый) писал данные в ОТДЕЛЬНОЕ ОКНО КОНСОЛИ - C++
Друзья! Разбираюсь с библиотекой pthread, потоки-читатели выводят данные в одно окно консоли, очень неудобно тестировать. Допустим, два...

Из string в wstring - C++
Как можно получить wstring-строку из string-строки? (символы в строке латинские, поэтому проблем вроде бы возникать не должно)


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

Или воспользуйтесь поиском по форуму:
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
21.11.2011, 16:42     Wstring и файловый поток #14
Про iconv всецело согласен. Плюс можно посмотреть на Arabica. Там есть разные фасеты и работа с ними.
Yandex
Объявления
21.11.2011, 16:42     Wstring и файловый поток
Ответ Создать тему
Опции темы

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