Чтение текстового файла в Ubuntu имеет дополнительные // r

0

Я переношу программу, созданную в C++ из MS Studio в Ubuntu. Программа отлично работает, за исключением случаев, когда она читается из текстового файла.

Мой текстовый файл состоит из строк информации, разделенных разделителем :

General Manager:G001:def
Customer:C001:def:Lim:Tom:Mr:99999999:[email protected]:Blk 145 B North #03-03 Singapore 111111

Метод чтения

while (getline(afile,line,'\n')) //read line and store string in variable line
        {


            stringstream ss(line);
            string s;
            while (getline(ss,s,':'))
            {
                word.push_back(s);
            }


            word.clear();

        }

На платформе Windows он хранится правильно, как def

Однако на платформе Ubuntu он хранится как def\\r

Он отлично работает для записи C ustomer Record но дает проблемы для General Manager

Я знаю, что это имеет какое-то отношение к возврату каретки, но я не уверен, как его разрешить

Теги:
debugging
carriage-return

1 ответ

0

Если текстовый файл был создан в Windows, вы можете использовать команду dos2unix, чтобы удалить лишний \r из файла. Команда просто dos2unix filenamegoeshere

  • 0
    Почему это, а не
  • 0
    Входной файл будет иметь \ r, но я не знаю, почему он конвертируется в \\ r.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню