Что я делаю:
Я читаю CSV-файлы с помощью JavaScript и отправляю их на веб-сервер / бэкэнд C ++ для загрузки файлов на сервер.Этот файл отправляется веб-серверу в виде строки через HTTP-запрос POST.
В javascript файлы правильно читаются и отправляются на C ++ с \r\n
окончаниями строк.
Проблема заключается в следующем:
При помещении строки во вновь созданный файл .csv на сервере с помощью
std::string data = // the parsed http body string
std::ofstream file;
file.open(UPLOAD_DIR + "\\" + filename);
file << data;
file.close();
Файл создается и строка помещается в него, но с пустыми строками после каждого переноса строки.Строка по-прежнему имеет \r\n
окончания строки при отладке в C ++.
Что я пробовал:
Я пытался заменить \r\n
окончания только на \n
, но пустые строки гдевсе еще там.Удаление разрывов строк полностью, очевидно, просто записывает строку в файл без каких-либо символов новой строки.
Как поместить строку в файл без пустых строк?
Ps: csvстрока выглядит в отладчике C ++ следующим образом:
EDIT Вот фрагмент строки:
Time [s];Temperature [C]\r\n0;1150\r\n0.1;1150\r\n0.2;1150\r\n0.3;1150\r\n0.4;1150\r\n0.5;1150\r\n0.6;1150\r\n0.7;1150\r\n0.8;1150\r\n0.9;1150\r\n1;1150\r\n1.1;1150\r\n1.2;1150\r\n1.3;1150\r\n1.4;1150\r\n1.5;1150\r\n1.6;1150\r\n1.7;11
(Iзнаете, CSV с точкой с запятой не соответствует RFC)