Tag: unicode

将单字符串转换为C中的相应字符串

我需要将一个unicoded字符串转换为适当的语言。 我需要逐行读取文本文件。 有一条线可能包含一个像这样的unicode \ XE6 \西飞\ XA2 \ xE8 \ XBF \ x8E 这基本上是一个等于的中文文本 欢迎 现在我需要从文本文件中删除此行(\ xE6 \ xAC \ xA2 \ xE8 \ xBF \ x8E),将此unicode转换为中文文本,将此中文文本附加到文本文件中。 以下是我的data.txt文件的内容: testing programming \xE6\xAC\xA2\xE8\xBF\x8E development 我想将文件内容作为: testing programming development欢迎 以下是我到目前为止所做的工作 #include #include #include #define MAX 256 int main() { int ctr = 0; char ch; FILE *fptr1, *fptr2; […]

使用ReadFile()的简单读取文件

为什么这段代码不输出任何内容(exept info word)? 文件存在。 hReadFile = CreateFile(L”indexing.xml”,GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ |FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); wchar_t *wchr = new wchar_t[20]; DWORD dw; ReadFile(hReadFile, wchr, sizeof(wchar_t) * 5, &dw, NULL); CloseHandle(hReadFile); wchr[dw/sizeof(wchar_t)] = L’\0′; std::wcout << L"info " << wchr << L" " << dw << std::endl;

C:sscanf问题

我有这样的文本文件: 2 A 10 5 B 31 2 C 6 6 我想读一个变量中的第一个行号 并在3个变量中读取每行的空格分隔的3个值列表。 我写了这段代码: iF=fopen(fileName,”r”); fgets(tmp,255,iF); sscanf(tmp,”%d”,&interval); while(!feof(iF)){ cur=(P *)malloc(sizeof(P)); fgets(tmp,255,iF); sscanf(tmp,”%c %d %d”,&Name,&AT,&ET); cur->jobName=Name; cur->arrivalTime=AT; cur->execTime=ET; add_to_list(head,cur); } 它适用于1,3,4线,但不适用于2号线! 在第2行它什么都没有存储! 当我在调试器中检查时,文件中有一些奇怪的字符(\ 342 \ 200 \ 252),我不知道它们来自哪里!? 有什么问题? 谢谢

如何在C中使用unicode字符?

我用C语言编写了一个Lexer,它目前成功地将ASCII文件作为lexes,但是我对如何使用unxode感到困惑。 我需要什么unicode lex,例如我应该支持utf-8,utf-16等.Rust或Go等语言支持什么? 如果是这样,有任何图书馆可以帮助我,虽然我宁愿尝试自己做,所以我可以学习。 即便如此,我可以阅读的小型图书馆也很棒。

如何使用ICU4C对字符串进行规范化?

我发现ICU文档有点挑战性。 我的问题是:如何使用ICU4C规范化字符串? 我正在看unorm2_normalize,但如果缓冲区不够大怎么办? 我以前怎么知道这个? 当然,我想将整个字符串规范化。 谢谢! :> PS这是该函数的API文档: http : //icu-project.org/apiref/icu4c/unorm2_8h.html#a0a596802db767da410b4b04cb75cbc53

用于unicode的C CSV API

我需要一个C API来处理可以使用unicode的CSV数据。 我知道libcs​​v(sourceforge.net/projects/libcs​​v),但我认为这不适用于unicode(请纠正我,如果我错了)因为没有看到使用wchar_t。 请指教。

为什么wprintf将Unicode连字分成两个不同的字形?

码: #include #include #define USE_W int main() { #ifdef USE_W const wchar_t *ae_utf16 = L”\x00E6 & ASCII text ae\n”; wprintf(ae_utf16); #else const char *ae_utf8 = “\xC3\xA6 & ASCII text ae\n”; printf(ae_utf8); #endif return 0; } 输出: ae和ASCII文本ae 而printf产生正确的UTF-8输出: æ&ASCII文本ae 你可以在这里测试一下 。

获取Dev-C ++构建的程序以将UNICODE字符输出到Windows命令行

如果你能回答我的任何问题,那就太棒了。 这是独家新闻:我正在向泰国11年级学生介绍泰国的编程课程。 到目前为止它一直很好,他们的英语水平足够高,我可以用英语教学,让他们用英语写程序,一切都很好,花花公子。 然而,作为非拉丁字符语言的发言者,我觉得他们至少应该了解UNICODE是什么。 我不会对它进行测试或者将它们与实现细节混淆,但我想向他们展示一个可以用泰语字符进行I / O的UNICODE程序示例。 我在以下限制条件下操作,其中没有一个可以更改(至少在本学期): 该程序必须在Windows 7上运行 程序必须是C(不是C ++) 我们必须使用Dev-C ++(v.4.9.9.3)作为我们的IDE(我将尝试说服管理员在下学期改变,但他们可能不想) 该程序应该输出到命令行(我希望它“看起来像”我们迄今为止编写的程序) 我希望它易于设置和运行,但我不反对包括批处理文件为孩子们做一些设置工作。 这是我已经走了多远,以及我的问题: 在控制面板>区域>管理>非UNICODE程序的语言设置为泰语。 我使用“chcp 874”在命令行中设置泰语代码页 ,但键盘中的字符显示为乱码。 这可能是因为键盘映射是错误的还是我必须改变别的东西? 我用以下行编写了一个程序:printf(“\ u0E01 \ n”); 打印ก,泰语字母表中的第一个字母。 这是正确的语法吗? 我收到一个编译器警告“只有C ++和C99支持通用字符”。 Dev-C ++不能编译成C99吗? 有没有办法让它得到一个C99编译器? 我运行代码并得到垃圾字符。 我想这可能是因为编译器,命令行或任何其他东西。 我想用一个输出สวัสดีโลก的程序来结束这个课程,泰语相当于“Hello World!” 我已经完成了大量的谷歌搜索,但我发现的每个答案要么在这个特定情况下不起作用,要么涉及不同的IDE。

使用ncurses在C中打印Unicode字符

我必须使用ncurses在C中绘制一个方框; 首先,为简单起见,我定义了一些值: #define RB “\e(0\x6a\e(B” (ASCII 188,Right bottom, for example) 我已经使用gcc编译,通过Ubuntu,使用-finput-charset=UTF-8标志。 但是,如果我尝试使用addstr或printw进行打印,我会得到hexa代码。 我做错了什么?

将多字节字符映射到其unicode点表示

如何将单个UTF-8字符映射到C中的unicode点? [例如, È将映射到00c8 ]。