У меня есть эта команда в моем проекте (в C):Printf (% s) печатает 0
int addFinalDataStr(char* value)
{
fprintf(objFile,"%-7.7s\n",value);
fflush(objFile);
}
Когда я называю этот метод со значением, как: "60100"
, он печатает "60100"
без проблем, но когда я называю это строкой вроде "37777777773"
, она просто печатает "0"
.
Вы проверили возвращаемое значение? Это не должно быть отрицательным. – user35443
Какой компилятор вы используете? Просто попробовал это на кодовом блоке, и это сработало для меня ... (http://codepad.org/1hzQE2EC) – Jimbo
Покажите нам полную автономную программу, которая обнаруживает проблему. http://sscce.org/. Возникает ли проблема, если вы используете 'printf', а не' fprintf (objFile, ...) '? Вы пробовали настроить строку формата? –