gpt4 book ai didi

c - 我可以在 C 字符串中使用哪些值?

转载 作者:太空狗 更新时间:2023-10-29 15:20:26 25 4
gpt4 key购买 nike

我面临以下代码:

char buf[100];
char buf2[100];
strcpy( buf, "áéíóúç" );
sprintf(buf2, "%s", buf);

我想知道它是否正确。我已经在 Windows 和 Linux 中对其进行了测试并且它确实有效,但它是否适用于不同语言的所有操作系统/平台?

strcpysprintf 都需要一个由 null 字符终止的 C 字符串,但是 C 字符串的内容可以是任何内容(不包括 null 字符)?

也可以做类似的事情吗:

strcpy( buf, "\x0a\x09\x08\x07\x06\x05\x04\x03\x02\x01\x00" );
sprintf(buf2, "%s", buf);

?

最佳答案

char 数组只是一个字节数组,所有非宽字符串函数都基于该假设进行操作。通常唯一具有特殊含义的字节是空字节。

据我所知,C 标准在字符编码(或一般文本)方面没有太多可说的,因此您的程序在预期输出字符编码的平台上肯定会失败与您的代码不匹配。

关于c - 我可以在 C 字符串中使用哪些值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9282564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com