Tag: 非ascii字符

如何在C中打印非ASCII字符

我尝试用C输出字符列表: http : //www.alt-codes.net/ for (i=0; i<len; i++){ printf("%d\t: %c", i, i); } 我得到的所有非ASCII字符的问题? 在Ubuntu上工作。 如何以良好的方式输出它们。

c读取非ASCII字符

我正在解析一个涉及æøå等字符的文件。 如果我们假设我已经存储了一行文本文件,如下所示 #define MAXLINESIZE 1024 char* buffer = malloc(MAXLINESIZE) … fgets(buffer,MAXLINESIZE,handle) … 如果我想计算一行中的字符数。 如果我尝试执行以下操作: char* p = buffer int count = 0; while (*p != ‘\n’) { if (isgraph(*p)) { count++; } p++; } 这忽略了任何æøå的发生 即:计算“aåeæioøu”将返回5而不是8 我是否需要以另一种方式阅读文件? 我不应该使用char*而是使用int*吗?

isalpha()给出一个断言

我有一个C代码,我在ctype.h中使用标准库函数isalpha(),这是在Visual Studio 2010-Windows上。 在下面的代码中,如果char c为’£’,则isalpha调用将返回一个断言,如下面的快照所示: char c=’£’; if(isalpha(c)) { printf (“character %c is alphabetic\n”,c); } else { printf (“character %c is NOT alphabetic\n”,c); } 我可以看到这可能是因为8位ASCII没有这个字符。 那么如何处理ASCII表外的非ASCII字符呢? 我想要做的是,如果找到任何非字母字符(即使它包含不在8位ASCII表中的字符),我希望能够忽略它。