gpt4 book ai didi

c++ - Visual C++ - 无法打开文本文件

转载 作者:行者123 更新时间:2023-11-28 00:42:56 26 4
gpt4 key购买 nike

用于打开文件并读取其内容的简单程序。然后在最后进行测试,看看我是否确实获得了信息。每次我运行它时,它都告诉我它无法打开文件。我将在下面发布 SaleSlips 的内容。为什么它不打开文件?它还试图在每次运行时删除该文件。

#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;

struct SaleSlip{
char name[20];
int prodID;
double value;
};

void main(){

fstream slips;
SaleSlip sales[17];
slips.open("SaleSlips.txt", ios::in);
if(slips.eof()){
cout << "Cannot open file - SaleSlips.txt"<< endl;
system("pause");
exit(2);
}
int i = 0;
while(!slips.eof()){
slips.getline(sales[i].name, ' ');
slips >> sales[i].prodID;
slips.ignore(5, ' ');
slips >> sales[i].value;
slips.ignore(80, ' ');
i++;
}
cout << sales[1].value;
slips.close();
system("pause");
}

Eric 1 200000.00
Sookie 2 200.00
Sookie 4 200.50

最佳答案

您正在使用 ios::out 在输出模式下打开流.使用 ios::in从中读取。

您还有很多其他问题。即:

-if(!slips.eof())除非文件为空,否则文件打开后总是会导致退出。
- 在您的 while 循环中,您(可能是意外地)尝试使用 << 将 prodID 和值写入单据文件中.使用 >>从流中读取 <<写给它。

关于c++ - Visual C++ - 无法打开文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17871456/

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