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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
zuq
95 / 95 / 2
Регистрация: 10.04.2011
Сообщений: 256
#1

Считывание русских символов из файла WinApi - C++

28.07.2011, 16:55. Просмотров 1365. Ответов 3
Метки нет (Все метки)

У меня есть массив name в котором хранится имя файла в формате D:\... Этот файл с текстом на русском языке. Первое слово - "привет". Потом есть такой код
C++
1
2
in.open(name);
in >> str;
Где in - std::ifstream, str - std::string. И после этого в str записывается мусор.

Как можно считать русские символы?

PS: Проект WinApi
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.07.2011, 16:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считывание русских символов из файла WinApi (C++):

Считывание русских символов fstream - C++
Работаю с большим файлом, где помимо английских символов есть и кириллица, всё это время считывал так: char buffer; ... ...

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

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

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

Считывание символов с файла. - C++
привет. задача состоит в том, что бы заполнить файл любыми символами, а потом там найти определенное слово. например в файле написано:...

Считывание ЛЮБЫХ символов из файла - C++
Дорого времени суток! Проблема заключается в следующем: Есть криптоалгоритм который шифротекст вставляет в txt файл. После этот файл...

3
soft.creator
104 / 104 / 4
Регистрация: 17.10.2010
Сообщений: 283
28.07.2011, 17:33 #2
Для начала in >> str; перепишите как
C++
1
std::getline(in, str);
0
zuq
95 / 95 / 2
Регистрация: 10.04.2011
Сообщений: 256
28.07.2011, 17:41  [ТС] #3
Цитата Сообщение от soft.creator Посмотреть сообщение
Для начала in >> str; перепишите как
C++
1
std::getline(in, str);
Это считает строку, а не слово. И не важно, что я пишу - даже если просто считать в char через get(), вместо русских символов - мусор
0
xAtom
915 / 740 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
28.07.2011, 18:35 #4
вот держи на WinAPI считываем только кириллические символы.
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
#include <windows.h>
#define FILTER(ch)  (ch >= 'а' && ch <= 'я' || ch >= 'А' &&ch <= 'Я')
 
 
int main(void){
 
   HANDLE fp  = CreateFile("bin.txt", GENERIC_READ, FILE_SHARE_READ, NULL, 
                                         OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
   if(fp != INVALID_HANDLE_VALUE) {
 
      TCHAR*  buf = new TCHAR[ GetFileSize(fp, NULL) + 1U ];
      TCHAR*  ptr = buf;
      BOOL    res;
      DWORD   dr;
      TCHAR   ch;
      while(! SetEndOfFile(fp)) {
           res = ReadFile(fp, (LPVOID)&ch, sizeof(TCHAR), &dr, NULL);
           if(res && ! dr)
              break;
           if(FILTER(ch)) {
                 *ptr = ch;
                 ++ptr;
           }
      }
      CloseHandle(fp);
      *ptr = '\0';
 
      // показываем результат
      MessageBox(NULL, buf, "my text", MB_OK | MB_ICONINFORMATION);
 
      delete[] buf;
      buf = NULL;
   }
   return 0;
}
0
28.07.2011, 18:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.07.2011, 18:35
Привет! Вот еще темы с ответами:

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

Считывание через ifstream строки состоящей из чисел и символов из файла - C++
Хотелось узнать как можно это осуществить, вся суть в том что у меня есть файл в который я записываю данные в виде F(0) T(178...

Как настроить ввод русских символов и в дальнейшем вывод этих символов - C++
Подскажите как в этом коде настроить ввод русских символов и в дальнейшем вывод этих символов. Данный код выводит лишь всякую ерунду место...

Подсчет символов UTF-8. Считывание пробельных символов - C++
Написал программу считывания файла с кодировкой UTF-8. Но она не считывает пробельные символы. Программа получает на вход файл из...


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

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

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