假设我们有:
char someArray[4];
填充{'a','b','c','d'}
我想将所有4个条目设置为'f'或任何其他char真的。
而不是单独进行单独someArray[0] = 'f'
(...)有没有办法将它们全部设置为一个值?
答案 0 :(得分:5)
只有因为这个字符数组才能使用memset
:
memset(someArray, 'f', sizeof(someArray));
如果你有一个别的数组(比如int
),这个方法不一定适合你,因为它设置了指定的字节数(对于一个char数组,这相当于数组的大小)到第二个参数的值。因此,如果您尝试使用int
数组执行此操作并使用非零值memset
,则不会将该非零值分配给数组中的所有int
,而是< em>指定字节数的每个字节。
答案 1 :(得分:3)
您可以使用标准库函数memset。 E.g。
memset(someArray, 'f', 4);
答案 2 :(得分:1)
man memset(3)
。
char someArray[4];
memset(someArray, 'f', sizeof (someArray));