我正在开发一个 C 程序,它接受参数形式的输入,然后需要字符串的长度才能继续工作。
不幸的是,在输入上使用
strlen()
时,我面临着一个巨大的问题,即字符串的字符计数错误,其中包含变音符号,因为该函数将变音符号计为两个字符!
示例:
strlen("abc"); //-> 3
strlen("äbc"); //-> 4
strlen("äöü"); //-> 6
有没有办法即使在使用变音符号时也能得到实际的字符数?发现这个问题已经花费了我几个小时和大量的理智:s
strlen()
不返回字符数,而是返回字符串的字节数。
没有诸如“äöü”之类的 2 个字节长的 ASCII 字符。