在 C++ 中,std::ignore
是一個用于忽略流中特定數據的實用函數
#include <iostream>
#include <fstream>
#include <string>
#include <limits>
int main() {
std::ifstream input_file("input.txt");
if (!input_file) {
std::cerr << "Error opening input file." << std::endl;
return 1;
}
std::string line;
while (std::getline(input_file, line)) {
// 假設我們想忽略每行中的所有數字
for (char &c : line) {
if (isdigit(c)) {
c = std::ignore;
}
}
// 輸出處理后的行(忽略數字)
std::cout << line << std::endl;
}
input_file.close();
return 0;
}
在這個示例中,我們打開一個名為 input.txt
的文件并逐行讀取內容。對于每一行,我們遍歷其中的每個字符,檢查它是否是數字。如果是數字,我們使用 std::ignore
將其替換為無效字符(實際上不會顯示任何字符)。最后,我們輸出處理后的行,其中所有數字都被忽略了。
需要注意的是,std::ignore
只是簡單地替換了需要忽略的字符,而不會從輸入流中完全刪除它們。這意味著輸入文件中的數據仍然存在于文件中,只是在讀取時忽略了特定字符。