C++ 中文件的输入/输出

input/output for a file in c++

本文关键字:输出 输入 中文 文件 C++      更新时间:2023-10-16
   #include <iostream>
   #include <fstream>
   #include <string>
   using namespace std;
   // Main Routine
   void main() { 
      char in;
      string s,m;
      fstream f;
   // Open file
      cout << "Positive Filter Programn"<< endl;
      cout << "Input file name: ";
      cin >> s;
      cout << "Output file name: ";
      cin >> m;
      f.open(s.data(),ios::in);
      f.open(m.data(),ios::out);
    // Loop through file
    if(f.is_open())
    {  
        while(f.good())
        {
            f.get(in);
            f<<in;
            cout << "nFinished!"<< endl;
        }
    }
    else cout << "Could not open file";
    // Close file
    f.close();
    }

不确定我在这里做错了什么。在这个程序中,我正在尝试输入文件名,然后输出到您输入的文件名上。

正在

重用相同的fstream对象:

f.open(s.data(),ios::in);
f.open(m.data(),ios::out);

它永远不会读取输入文件。更改为:

std::ifstream in(s.data());
std::ofstream out(m.data());

while循环不正确,读取后应立即检查读取尝试的结果:

char ch;
while(in.get(ch))
{
    out << ch;
}
cout << "nFinished!"<< endl; // Moved this to outside the while