为什么可以';在我的计算机上用C语言显示按字符排列的假名吗? #包括 #包括 int main() { 字符测试[100]=”おおお\n”; int len=strlen(测试); 对于(int i=0;i
代码不显示假名おおお」在我的电脑上, 但我朋友电脑上的代码显示的是假名。 我们都使用windows 10操作系统,使用相同的日语。 我的电脑设置有问题吗 这取决于编辑器(或浏览器,或您正在使用的任何东西)的“编码”设置为什么可以';在我的计算机上用C语言显示按字符排列的假名吗? #包括 #包括 int main() { 字符测试[100]=”おおお\n”; int len=strlen(测试); 对于(int i=0;i,c,windows,C,Windows,代码不显示假名おおお」在我的电脑上, 但我朋友电脑上的代码显示的是假名。 我们都使用windows 10操作系统,使用相同的日语。 我的电脑设置有问题吗 这取决于编辑器(或浏览器,或您正在使用的任何东西)的“编码”设置 检查两台计算机上的结果是否相同(可能是UTF-8、UTF-16、JIS等),并记住从C的角度来看,strlen(“お")不是1。阅读感谢您的回答。是的,我们的编码都是相同的JIS,在JIS中[お]有两个字节,但字符是一个字节,我的计算机一个接一个地打印字符。我们都弄糊涂了。@z
检查两台计算机上的结果是否相同(可能是UTF-8、UTF-16、JIS等),并记住从C的角度来看,
strlen(“お")代码>不是1。阅读感谢您的回答。是的,我们的编码都是相同的JIS,在JIS中[お]有两个字节,但字符是一个字节,我的计算机一个接一个地打印字符。我们都弄糊涂了。@zei:“在JIS中。”[お] 有两个字节“但您试图一次打印一个字节。是的,但打印的代码相同”おおお在我朋友的计算机Zei上,相同的可执行文件或相同的代码在不同的计算机上编译?默认情况下“%c”只应打印一个字节,但可能必须在编译器上使用某些特定的标志才能具有不同的行为。您(都)是哪种编译器使用?很抱歉,我现在意识到问题不在代码中,而在您使用的控制台中。C代码除了打印该假名的两个字节之外没有其他选择,关键是在您的计算机上您的控制台(DOS提示符或msys外壳或其他东西)设置与您朋友的设置不同。尝试将输出放在文件中,您将看到两台计算机上的输出相同。这是因为您的控制台bBeave的方式不同。(如果我猜到了righe.arigatō,请告诉我!)
#include<stdio.h>
#include<string.h>
int main()
{
char test[100] = "おおお\n";
int len = strlen(test);
for (int i = 0; i < len; i++) {
printf("%c", test[i]);
}
return 0;
}