gpt4 book ai didi

C++:简单的 fstream 不写入输出文件(不确定它是否正在使用输入文件)

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

我有一个保存了一些随机信息的测试文件(“InputFile.txt”)以及一个空白输出文件(“output.txt”)。当我调试程序并检查输出文件时,它仍然是空白的。

“output.out”应该是“output.txt”(第 25 行)吗?我有问题是因为我在 if 语句的第 22 行将“InputFile.txt”作为 cstring?这是正确的吗?到目前为止,我对 fstream 有点迷茫,请帮忙。

我的代码:

#include<fstream>
#include<string>
#include<iomanip>
#include<iostream>

using namespace std;

int main()
{
ifstream InputFile;
ofstream OutputFile;

string lastName, firstName, fileName,
line;
int creditHours, state;
int tuition;
bool valid = false;

do{
cout << "Input file name (.txt): ";
cin >> fileName;
if(fileName == "InputFile.txt")
{
InputFile.open("InputFile.txt");
OutputFile.open("output.out");
valid = true;
}
else{
cout << "Invalid file name/type." << endl;
}
}while(valid == false);




OutputFile << "Last Name: " << ' ' << "First Name: " << ' '
<< "Credit Hours: " << ' ' << "Tuition Amount: " << endl;
while(!InputFile.eof()){

getline(cin, line);
InputFile >> firstName >> lastName >> creditHours >> state;
if(state == 1)
{
tuition = (creditHours * 350);
}
else
{
tuition = (creditHours * 570);
}
OutputFile << lastName << ' ' << firstName << ' '
<< creditHours << ' ' << tuition << endl;
}



InputFile.close();
OutputFile.close();

return 0;
}

最佳答案

试试这个

ifstream inFile;
ofstream outFile;

并以进出模式打开文件

inFile.open("InputFile.txt", ios::in);
outFile.open("Output.txt",ios::out);

然后读取输入文件数据并将其写入输出文件

while (!inFile.eof()) {
inFile >> firstName >> lastName >> creditHours >> state;
outFile << firstName << " " << lastName<<" "<<creditHours<< " " <<state<<" "<< endl;
}

并以自己的方式在循环中应用逻辑

关于C++:简单的 fstream 不写入输出文件(不确定它是否正在使用输入文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22031635/

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