Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
1

Вывод wstring в файл

20.07.2014, 10:23. Показов 3172. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
bool addCategory(const std::wstring& name_category)
{
wfstream fio = initAndCheckWFSTREAM(FILENAME_CATEGORY, ios_base::app | ios_base::out); 
// инициализация fio (своя функция с некоторыми особенностями)
 
if (isFileEmpty(FILENAME_CATEGORY))
fio << "[Список категорий]:\n";
 
fio << name_category << "\n"; 
return true;
}
Оператор fio << name_category << "\n" не выполняется, соответственно никакого вывода нет и fio.fail присваивается true. В чем проблема, можно было бы грешить если бы я не создал wstring, wfstream, но по смыслу вроде бы все правильно. Подскажите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.07.2014, 10:23
Ответы с готовыми решениями:

Удалить файл, используя в качестве аргументов wstring переменные (путь + имя файла)
Приветствую. Вот: if (remove(line.path + line.filename) != 0) listf4 &lt;&lt; &quot;Error deleting...

Объясните, что означает wstring input = L""; и wstring output = L""; ?
Непонятно особенно L&quot;&quot;.

Странный вывод wstring в wofstream
Мне нужно было считать несортированный словарь из файла txt, отсортировать его по алфавиту, убрать...

Вывод в файл wstring/wchar* с преобразованием кодировки
Имеется строка в юникоде(wstring или wchar*). Вопрос такой, как вывести её в файл, изменив...

7
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
20.07.2014, 10:40 2
Что за initAndCheckWFSTREAM?
В каком состоянии fio.good() после его вызова?
0
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
20.07.2014, 11:20  [ТС] 3
Tulosba,

C++
1
2
3
4
5
6
7
inline wfstream initAndCheckWFSTREAM(const std::wstring &filename,
std::ios_base::openmode mode = ios_base::app)
{
    wfstream f(filename, mode);
    if (!f.is_open()) throw FileNotOpened(filename);
    return f;
}
После вызова функции initAndCheckWFSTREAM fin.good() == true, после попытки вывода name_category fin.good() == false;
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
20.07.2014, 11:39 4
А если закоментировать строки:
C++
1
2
if (isFileEmpty(FILENAME_CATEGORY))
fio << "[Список категорий]:\n";
что-то изменится?
0
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
20.07.2014, 11:49  [ТС] 5
Tulosba, ничего не изменилось.
Эта проблема только с русскими символами. С ASCII символами все работает как надо.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
20.07.2014, 11:56 6
Цитата Сообщение от CHELOVEKPAUK Посмотреть сообщение
Эта проблема только с русскими символами. С ASCII символами все работает как надо.
Ну а если заменить fio на std::wcout вывод на консоль будет? Убрав, конечно, все открытия и проверку на пустоту.
P.S. для строковых литератов добавьте L в начале. Т.е. :
C++
1
fio << L"[Список категорий]:\n";
где есть вывод.
1
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
20.07.2014, 14:37  [ТС] 7
Tulosba,
C++
1
2
setlocale(0, "rus");
std::wcout << L"абвгд";
Вот так выводит в консоль, без локали не выводит ничего, точно такая же ситуация как с выводом в файл.

Добавлено через 2 часа 33 минуты
Нашел кое что интересное:

C++
1
2
3
wofstream b("zzz.txt", ios_base::app);
    b.imbue(locale("rus_rus.1251"));
    b << a;
вот так вывод работает
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
20.07.2014, 17:01 8
Как вывести в файл строку wstring с кириллицей???
1
20.07.2014, 17:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.07.2014, 17:01
Помогаю со студенческими работами здесь

wstring
Здраствуите ,вобщем маленькая запара ,хочу узнать возможно ли под WinApi использовать wstring вот...

Вывод определённых значений из таблицы, затем вывод их произведения на файл
Здравствуйте, как считать с файла только цифры(буквы не трогать), найти их произведение, затем...

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

Заменить вывод значения из оператора if в файл на вывод в переменную
Добрый день, подскажите,как можно потимизировать скрипт генерации. В принципе он работает, но...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru