Установка целого массива символов в значение - PullRequest
0 голосов
/ 07 ноября 2010

Допустим, у нас есть: char someArray[4]; заполнено {'a', 'b', 'c', 'd'} И я хочу установить для всех 4 записей значение «f» или любой другой символ. Вместо того, чтобы делать по отдельности someArray[0] = 'f' (...), есть ли способ установить для них всех значение?

Ответы [ 3 ]

5 голосов
/ 07 ноября 2010

Только потому, что этот массив символов можно использовать memset:

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

Если у вас есть массив чего-то другого (скажем, int), этот метод не обязательно будет работать для вас, поскольку он устанавливает указанное число байтов (для массива char это эквивалентно размеру массива) Значение второго параметра. Таким образом, если вы попытаетесь сделать это с массивом int и использовать ненулевое значение, memset не присвоит это ненулевое значение всем int с в массиве, а скорее каждые байт для указанного количества байтов.

3 голосов
/ 07 ноября 2010

Вы можете использовать стандартную библиотечную функцию memset. Э.Г.

memset(someArray, 'f', 4);
1 голос
/ 07 ноября 2010

человек memset(3).

char someArray[4];
memset(someArray, 'f', sizeof (someArray));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...