Есть файл с контентом (1 строка): 요청 드려도 되나요
Output программы:
len = 27
data = 요청 드려도 되나요
pos = 9
Код ниже. Вопрос: используются обычные однобайтовые символы (хотя контент файла отнюдь не однобайтовый)
для чтения и работы с юникодной строкой. Вопросы: почему это работает? Какой тогда смысл городить всякие wchar_t*
и различные библиотеки для работы с юникодными строками?
В каких случаях данный код будет работать неверно?
Спасибо.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char** argv)
{
FILE* f = fopen("unicode_test", "r");
char data[50];
if (!f)
perror("file open error");
fgets(data, sizeof(data), f);
printf("len = %d\n", strlen(data));
printf("data = %s\n", data);
printf("pos = %d\n", strchr(data, '드') - data);
fclose(f);
return 0;
}
P.S. Локаль 'ru_RU.UTF-8'.

Ответ на:
комментарий
от lester_dev

Ответ на:
комментарий
от alphex_kaanoken

Ответ на:
комментарий
от generatorglukoff

Ответ на:
комментарий
от Reset

Ответ на:
комментарий
от Reset

Ответ на:
комментарий
от alphex_kaanoken
Ответ на:
комментарий
от alphex_kaanoken

Ответ на:
комментарий
от Reset

Ответ на:
комментарий
от alphex_kaanoken

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Утилита для изменения аптайма (2008)
- Форум не работает inotify watch (2017)
- Форум Не компилиься элементарная рога... (2003)
- Форум Не компилится элементарная прога... (2003)
- Форум Некопирование файлов (2009)
- Форум Си /*ошибка сегментирования */ (2009)
- Форум Да помогите вы мне с этим wav-player'oм!!! (2003)
- Форум математика (2005)
- Форум Си (2013)
- Форум Чтение double из файла (С) (2006)