Вопрос по c, endianness, python – Что такое эквивалент C пакета Python («<I», 0)

2

Я не знаю много Python, но из того, что я могу сказать из документации код:

   str = "AAAA"
   str += pack("<I", 0)

добавит результат функции pack к str, который будет целочисленным значением 0 в стиле с прямым порядком байтов. Мой вопрос в том, что C эквивалент этого будет. Будет ли это просто:

   char str[20] = "AAAA";
   strcat(str, "\x00");

?...

@icktoofay: Вы можете, вы просто не можете использовать обычные функции манипуляции со строками. Ignacio Vazquez-Abrams
@Ignacio: "обычным" C string, я имел в виду строку, которая работает с обычными функциями манипуляции со строками. Извините, если мне не ясно. icktoofay

Ваш Ответ

1   ответ
2

strcat() останавливается на первом NUL, поэтому нет.

int val = 0;
int nval = htole32(val);
memcpy(str + 4, (char*)&nval, 4);
Если предположить,sizeof (int) == 4

Похожие вопросы