Reputation: 701
I have a Double dim. array:
alarm_1_active_buffer[MAX_NUM_ALARMS][MAX_ALARM_STRING_SIZE];
I want to clear the buffer before filling it.
Like this :
for(index=0; index<MAX_NUM_ALARMS ; index++)
{
memset(&alarm_1_active_buffer[index], 0, MAX_ALARM_STRING_SIZE);
memset(&alarm_1_active_buffer[index],string, MAX_ALARM_STRING_SIZE);
}
It is not working.
Upvotes: 0
Views: 7498
Reputation: 2886
Making sure to #include <string.h>
first:
memset(alarm_1_active_buffer, 0, sizeof(alarm_1_active_buffer));
This method works regardless of the type of elements in the array.
Upvotes: 1
Reputation: 11232
Since the arrays are laid in continuos address spaces, you don't have to do anything special for 2d arrays. You can simply use memset(alarm_1_active_buffer, 0, MAX_NUM_ALARMS * MAX_ALARM_STRING_SIZE * sizeof(type of alarm_1_active_buffer));
.
Upvotes: 1