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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
malor
49 / 26 / 2
Регистрация: 02.07.2007
Сообщений: 1,643
27.06.2011, 21:49     Считать строку из txt-файла Unicode и преобразовать ее в число - это реально? #1
Допустим у вас в 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++ отладить программу на языке С++, которая считывает из файла a.txt строку и записывает её в файл b.txt в обратном порядке
C++ Как из файла txt считать данные в массив?
C++ Из .txt файла считать числа в массив
Одномерный массив Х(15) считать из файла *.txt C++
C++ Считать 10 целых чисел с файла 1.txt и записать в файл 2.txt максимальный элемент и его индекс
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 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
49 / 26 / 2
Регистрация: 02.07.2007
Сообщений: 1,643
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
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
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 и преобразовать ее в число - это реально?
Ответ Создать тему
Опции темы

Текущее время: 23:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru