2015-05-11 4 views
-2

Я пытаюсь преобразовать целое число в строку в C, но текущий код этого не делает.Как преобразовать int в строку в C?

Я не хочу отображать его на экране, поэтому все функции printf, sprintf ... не имеют значения.

int X = 15; 
char *T;  
T = (char*)X; 
// Expected result : "15" 

Помогите пожалуйста?

Спасибо.

+0

(s) tring (принтf). например напечатайте строку в памяти. просто потому, что он говорит, что «печать» не означает, что он появится на вашем экране (или принтер, если на то пошло). –

ответ

2

Не отображать его на экране не отменяет функции типа sprintf(), так как они буквально «печатают в строку».

int X = 15; 
char buffer[10]; 
memset(&buffer, 0, sizeof(buffer)); // zero out the buffer  
sprintf(buffer, "%d", X); 
// Expected result : "15" 
printf("contents of buffer: %s\n", buffer); 
2

sprintf напечатает строку, а не экран.

Это именно то, что вы ищете.

+0

Забавно, 'itoa' и все его варианты даже заходят так далеко, что опуская всю часть' print', а также теряя последний 'f' - поскольку вам не нужно много« форматирования »для простого ИНТ-к струне. – usr2564301

Смежные вопросы