У меня есть вопрос, что делать с "\n"
или "\r\n"
и т. Д. При чтении текстового файла на C++. Проблема возникает, когда я делаю следующую последовательность операций:читать текстовый файл в C++
int k;
f>>k;
string line;
getline(f,line);
для входного файла с чем-то вроде
1
abc
Я должен поставить f.get()
для того, чтобы считывать окончание "\n"
после f>>k
. Я даже должен сделать f.get()
дважды, если у меня есть "\r\n"
.
Что такое элегантный способ чтения файла, подобного этому, если я смешиваю >>
с getline
?
спасибо.
Редактировать Кроме того, интересно, если есть удобный способ для автоматического обнаружения данного файла имеет конца-строки символ "\n"
или "\r\n"
.
Спасибо! Пожалуйста, см. Мое редактирование: так, как автоматически писать оператор 'std :: cin.ignore (std :: numeric_limits :: max(), '\ n');' иногда используется «\ r \ n "в качестве конечных символов? –
@QiangLi игнорирует ** все ** символы до и включая символ '\ n'. неважно, каковы эти символы, нет ничего особенного в том, чтобы поставить перед ним '\ r', поэтому« \ r \ n »будет обрабатываться так же, как« \ n »или« helloworld \ t \ n », , –