使用C中的puts()函数输出”字符的问题

huangapple go评论62阅读模式
英文:

Issues with output ” character using puts() function in C

问题

我尝试过 puts("”");, puts("\”");,但每次都会得到 ö 作为输出,所以转义字符不起作用。我是否选择了错误的代码页?如果可能的话,我不想使用 printf("%c",smth);

英文:

I have tried puts("”");, puts("\”"); but every time I get ö as output so escape character doesn't works. Do I have wrong code page? If it is possible I don't want to use printf("%c",smth);

答案1

得分: 1

第二种表达方式是正确的,使用普通的双引号:

puts("\"\"");

如果你想使用UTF-8字符,那么这可能是终端字体或编码的问题,而不是C语言的问题:

$ echo '"”"' | od -c
0000000   " 342 200 235   "  \n
0000006
英文:

The correct expression is the 2nd one with a regular double quote:

puts("\"");

If you want to use the UTF-8 character then it's a terminal font / encoding issue and not a C question:

$ echo '"”"' | od -c
0000000   " 342 200 235   "  \n
0000006

huangapple
  • 本文由 发表于 2023年3月7日 15:19:53
  • 转载请务必保留本文链接:https://go.coder-hub.com/75658984.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定