Хранение отформатированных данных в C - PullRequest
2 голосов
/ 19 апреля 2010

Я пытаюсь добавить переменные в массив символов C. Также я пробовал sprintf, но это вызывает некоторые другие проблемы в моей программе.

Я хочу сделать что-то вроде этого:

char* age = "My age is = " + age;

Я планирую отправить массив символов в сокет, используя send()

Ответы [ 3 ]

3 голосов
/ 19 апреля 2010

s (n) printf - действительно правильный ответ здесь. Какие проблемы это вызывает? Попробуйте исправить эти проблемы, а не выбрасывать правильный инструмент.

1 голос
/ 19 апреля 2010

Если вы можете использовать C ++, тогда просто используйте std :: string, чтобы получить эту функциональность ...

В C вы просто не можете сделать это с помощью перегрузок операторов. «strcat» позволяет объединить 2 странных. Просто убедитесь, что у вас есть место для хранения полученной строки!

0 голосов
/ 19 апреля 2010

Используйте sprintf(). Не забудьте выделить достаточно большой буфер для массива. Как это:

char buf[24];
sprintf(buf, "My age is = %d", age);

24 char s достаточно долго, чтобы содержать здесь результат, независимо от значения age Я предполагаю, что age является 32-разрядным целым числом.

Конечно, если вы измените текст на более длинный, вам придется увеличить размер буфера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...