[英]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.