我正在尝试从Project Gutenberg文本文件中读取并计算单词总数。我目前正在超调,因为带有撇号的单词被重复计算。但是,文本文件中的撇号字符与ASCII字符39不匹配,即'\'',因此我的is_word函数工作不正常。关于这个角色究竟是什么的任何建议?
注意:当我通过并在vim中手动替换撇号时,单词计数器工作正常。
答案 0 :(得分:0)
这不是一个完整的答案,但如果你这样做
#include <wchar.h>
#include <locale.h>
然后
setlocale(LC_ALL, "en_US.UTF-8");
然后拨打getwchar()
或getwc(fp)
而不是getchar
/ getc
,然后检查值8217以及'\''
,您可能是能够让一切工作。
(它适用于我.YMMV。根据您的操作系统,您可能必须使用“en_US.UTF-8”以外的语言环境字符串。)
(如果这确实有效,欢迎来到internationalization这个精彩的世界。在这条道路上走下去,如果你希望你的代码能够正常工作,还有其他一些问题需要注意。所有情况和所有地区。)