Size: a a a

2020 August 26

A

Armageddon Soldier in supapro.cxx
Ilia Zviagin
GET_ARGS = malloc (size + 1 ) уже неверно, размер неверный
sizeof(char*)*size+1
источник

A

Armageddon Soldier in supapro.cxx
?
источник

IZ

Ilia Zviagin in supapro.cxx
Ilia Zviagin
GET_ARGS = malloc (size + 1 ) уже неверно, размер неверный
malloc на размер типа не умножает, он его просто не знает
источник

AN

Alexander N in supapro.cxx
Кстати да, почему calloc советовали)
источник

IZ

Ilia Zviagin in supapro.cxx
Armageddon Soldier
sizeof(char*)*size+1
Не char*, а что там у тебя в типе написано
источник

IZ

Ilia Zviagin in supapro.cxx
Alexander N
Кстати да, почему calloc советовали)
Почему?
источник

AN

Alexander N in supapro.cxx
Ilia Zviagin
Почему?
Потому что проще
источник

IZ

Ilia Zviagin in supapro.cxx
Alexander N
Потому что проще
Не проще, то же говно
источник

A

Armageddon Soldier in supapro.cxx
Ilia Zviagin
Не char*, а что там у тебя в типе написано
А просто char ведь всего 1 байт
источник

IZ

Ilia Zviagin in supapro.cxx
Armageddon Soldier
sizeof(char*)*size+1
Мысль верная, но у тебя переменная не типа char*
источник

A

Armageddon Soldier in supapro.cxx
или нужно char***
источник

AN

Alexander N in supapro.cxx
Ну там отдельно размер элемента, отдельно количество
источник

T

Ternvein in supapro.cxx
Armageddon Soldier
sizeof(char*)*size+1
У вас там ещё есть
array[position] = malloc(str_size);
Гляньте, чему в этот момент str_size равно (первая итерация цикла).
источник

IZ

Ilia Zviagin in supapro.cxx
Armageddon Soldier
или нужно char***
Нужно так как у тебя в типе переменной написано
источник

AN

Alexander N in supapro.cxx
Если памятьне изменяет, а в целом да то же г только сбоку, а ну да он ещё нулит память
источник

IZ

Ilia Zviagin in supapro.cxx
Armageddon Soldier
или нужно char***
А, да, char***.


Но и тут может быть проблема, вряд ли тебе надо char***
источник

A

Armageddon Soldier in supapro.cxx
Как  я понимаю массив строк это массив указателей, если нужен массив трех уровней, мне нужно выделить 8 байт на указатель 1го уровня, потом 8 байт на указатель 2 уровня, а дальше память на строку
источник

A

Armageddon Soldier in supapro.cxx
Ternvein
У вас там ещё есть
array[position] = malloc(str_size);
Гляньте, чему в этот момент str_size равно (первая итерация цикла).
Спасибо
источник

A

Armageddon Soldier in supapro.cxx
Спасибо всем, заработало
источник

IZ

Ilia Zviagin in supapro.cxx
Strtok_r тоже неверно используешь, getenv даёт read only память тебе, ты в нее писать собираешься.
источник