Итак, у меня есть программа, которая анализирует выражения в строке текста, такие какСтранные символы, напечатанные в конце строки - C
11110000 & 11001100 ;
и оценивает бинарные результаты. Мой код правильно разбирается и правильно оценивает, но для двух моих тестовых входов (в том числе и выше) мой printf также печатает эти странные символы после каждого прогона.
eos$ ./interpreter < program02.txt
11000000 +
eos$ ./interpreter < program02.txt
11000000 2ñ
eos$ ./interpreter < program02.txt
11000000 "]
eos$ ./interpreter < program02.txt
11000000 ÒØ
eos$ ./interpreter < program02.txt
11000000 Ê
eos$ ./interpreter < program02.txt
11000000 òJ
Строка malloc'd как этот
char *str = (char *) malloc ((getLength(src) + 1) * sizeof(char));
А вот как строка печатается
char *str = binaryToString(val);
printf("%s\n", str);
Любая помощь будет удивительным! Благодаря!
есть строка null прекращено? – Sarang
Выполняет ли 'binaryToString()' правильную строку? –
, вероятно, забыл нулевой ограничитель, позволяя printf() запускать «минус конец» строки. –