将整个字符数组设置为值

时间:2010-11-07 17:49:10

标签: c arrays

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

3 个答案:

答案 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));