2012-10-23 19 views

ответ

3

Я предполагаю, что он представляет собой терминатор линии \n в том, что вы используете для изучения значения arch. SO имеет много вопросов вопросов о завершении линии, я уверен, что вы можете легко найти номер способов решения этой проблемы.

+0

что такое? Я думал, что fgets будет лучше, чем scanf ... Я пытаюсь получить имя файла из стандартного ввода, и я не хочу '?' в теме. – cracq

+0

SO - переполнение стека. Удаление новой строки так же просто, как 'arch [strlen (arch) -1] = 0', если вы знаете, что она есть. –

4

fgets() хранит символ новой строки:

fgets() считывает максимум на один меньше, чем размер символов из потока и сохраняет их в буфер, на который указывает с. Чтение останавливается после EOF или новой строки. Если читается новая строка, она сохраняется в буфере. A '\ 0' сохраняется после последнего символа в буфере.

Если вы проверяете переменную в каком-то отладчике, возможно, что новая строка отображается как «?» Или что-то, что вы подразумеваете под «меткой опроса».

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