gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 00:58:02 25 4
gpt4 key购买 nike

   #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 Program\n"<< 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();

}

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

最佳答案

正在重用相同的 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

关于c++ - C++中文件的输入/输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10086999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com