The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Помогите разобраться с Си "
Отправлено Аноним, 10-Сен-12 13:49 
>>>> if (a[0][0][i] == '+') a[0][0][i] =' ';
>>> Вот на этом месте и сегфолтится: a[0][0] указывает на строковую константу,
>>> А константа располагается в блоке памяти, доступном только на чтение.
>> В лине можно и константы переписывать ;)
> Другие объяснения ситуации? Сегфолт-то тут действительно возникает — проверено.
> Причём именно в том месте, на которое я указал.

под валгриндом запусти, нет полномочий для записи в константу, поэтому и сегфалт.
будет работать:
int main(void)
{

char * a[1][2] = { {strdup("1. ААААА +"),"2. БББ"} };
int i = 0;
printf("First String : %s\n", *&a[0][0]);
while (a[0][0][i] != '\0')
{
if (a[0][0][i] == '+')
     a[0][0][i] =' ';
i++;
}
printf("New String : %s\n", a[0][0]);
}

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру