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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
malor
36 / 27 / 2
Регистрация: 02.07.2007
Сообщений: 1,717
#1

Считать строку из txt-файла Unicode и преобразовать ее в число - это реально? - C++

27.06.2011, 21:49. Просмотров 1731. Ответов 3
Метки нет (Все метки)

Допустим у вас в txt-файле несколько чисел:
309
5
512


Если бы файл был в кодировке ANSI:
1) Вы считали строчку с помощью fgets()
2) Преобразуете полученное с помощью atoi() к числу.

Но у нас Unicode:
1) Вы считали строчку с помощью fgetws()
2) ???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.06.2011, 21:49     Считать строку из txt-файла Unicode и преобразовать ее в число - это реально?
Посмотрите здесь:

Преобразовать число в строку/строкук в число C++
C++ Преобразовать строку->число->строку
C++ Как из файла txt считать данные в массив?
C++ В чем ошибка? Считать из файла и преобразовать символы в их коды.
C++ Из .txt файла считать числа в массив
Одномерный массив Х(15) считать из файла *.txt C++
C++ Колода карт, считать данные из файла в кодировке Unicode
Считать несколько символов (цифр) из файла и преобразовать их в число C++
Как считать массив структур из файла txt C++
Рандомный выбор из файла: считать данные из txt C++
C++ Преобразовать строку из файла, содержащую запись десятичного числа, в строку с двоичным числом
Отсортировать N-ую строку файла fin.txt по возрастанию длин слов в строке и записать ее в fout.txt C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nameless
Эксперт C++
314 / 296 / 14
Регистрация: 16.06.2009
Сообщений: 486
27.06.2011, 21:55     Считать строку из txt-файла Unicode и преобразовать ее в число - это реально? #2
malor,

C
1
int _wtoi(const wchar_t *str);
Пример:

C
1
2
3
4
5
6
7
8
9
10
11
#include <stdlib.h>
#include <stdio.h>
#include <tchar.h>
#include <conio.h>
 
int main()
{
    printf("%d", _wtoi(_T("5")));
 
    return 0;
}
malor
36 / 27 / 2
Регистрация: 02.07.2007
Сообщений: 1,717
27.06.2011, 23:27  [ТС]     Считать строку из txt-файла Unicode и преобразовать ее в число - это реально? #3
Благодаря fgetws() вы получили переменную line равную
"\x33\x00\x30\x00\x39\x00\x0D\x00\x0A\x00"
- это число 309 и перевод каретки.

Как видно на рисунке функция _wtoi() вернула лишь цифру 3.
Миниатюры
Считать строку из txt-файла Unicode и преобразовать ее в число - это реально?  
grizlik78
Эксперт С++
1903 / 1435 / 109
Регистрация: 29.05.2011
Сообщений: 2,989
28.06.2011, 00:19     Считать строку из txt-файла Unicode и преобразовать ее в число - это реально? #4
malor, знать бы ещё, что понимается под Unicode. Там же кодировок — тьма. Например, UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE... Вас какой интересует?
А функция fgetws при чтении пытается произвести преобразование в wide-версию, так что вряд ли она подойдёт. Ещё, вместо _wtoi я бы использовал wcstol, хотя результат будет тот же.
Yandex
Объявления
28.06.2011, 00:19     Считать строку из txt-файла Unicode и преобразовать ее в число - это реально?
Ответ Создать тему
Опции темы

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