繁体   English   中英

将整个字符数组设置为一个值

[英]Setting whole array of chars to a value

假设我们有: char someArray[4]; 并用{'a','b','c','d'}填充,我想将所有4个条目设置为'f'或其他任何字符。 而不是单独执行someArray[0] = 'f' (...),有没有办法将它们全部设置为一个值?

仅因为这是一个字符数组,您才可以使用memset

memset(someArray, 'f', sizeof(someArray));

如果您有其他数组(例如int ),则此方法不一定会为您工作,因为它会将指定数量的字节(对于char数组,它等于数组的大小)设置为第二个参数的值。 因此,如果您尝试使用int数组并使用非零值,则memset不会将该非零值分配给数组中的所有int ,而是将每个字节分配给指定的字节数。

您可以使用标准库函数memset。 例如

memset(someArray, 'f', 4);

man memset(3)

char someArray[4];
memset(someArray, 'f', sizeof (someArray));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM