我試圖刪除當我從一個文件中的列表中刪除一個人時創建的空行,所以我的文件在打開時看起來好多了。這是代碼我必須刪除該行。從字符串中刪除空行C++
std::ifstream ifs("alpha.dat");
std::ofstream tem("temporary.text");
std::string str((std::istreambuf_iterator<char>(ifs)),
std::istreambuf_iterator<char>());
str.erase(std::remove(str.begin(), str.end(), '\n'), str.end());
cout << str;
tem << str;
tem.close();
ifs.close();
我的文件內容如下:
maria hernandez 1000 h3777 +1000 19:15:19
rachel dominguez 100000 X8793 +100000 19:15:20
carlos yatch 20 g6386 +20 19:15:20
Empty line
carlos Domingues 20 g3336 +20 19:15:20
Empty Line
但是我得到的文件是當前:
maria hernandez 1000 h3777 +1000 19:15:19 rachel dominguez 100000 X8793 +100000 19:15:20 carlos yatch 20 g6386 +20 19:15:20
''\ N'不是一個空行。這只是線的結束。想想空白行有什麼樣的字符模式。 – chris
我想知道這件事。我的意思是白線可以包含空間,但我的線不包含任何東西.. – Cris
@Cris只要看看像「Hello \ nWorld」這樣的東西它會超過2行,但沒有空白行。另一方面,如果你有「你好\ n \ nWorld」你有一個空白行。希望能幫助你理解你的問題。 –