c++ - 从 .csv 文件中读取
问题描述
我正在尝试将变量保存在 .csv 文件中,即使在关闭程序然后再次打开以从 .csv 读取它们时,变量在关闭后也不会重置。$balance
工作正常,但$level
and的$cases
值每次都是 1。它们保存在 .csv 中,但我无法读取它们。
#include <iostream>
#include <random>
#include <fstream>
#include <string>
#include <stdlib.h>
#include <sstream>
using namespace std;
int main() {
int $balance = 0, $new_balance, $bet_amount, $random_number, $multiplies, $number_type_number, case_opening;
int $level = 1, $cases = 1, $xp = 0;
int $input_balance = 0, $input_level = 1, $input_cases = 1;
string $free_coins, $bet_type, $number_type_color, $number_type_odd_even, $number_type_row, $bet_type_color;
string $bet_type_halves, $bet_type_third, $bet_type_row;
string $roll_again;
ofstream myFile;
ifstream inputFile;
string line, line1, line2;
/*Useless Code*/
inputFile.open("database.txt");
while (getline(inputFile, line)) {
istringstream ss(line);
ss >> $input_balance;
$balance = $input_balance;
}
while (getline(inputFile, line1)) {
istringstream ss1(line1);
ss1 >> $input_level;
$level = $input_level;
}
while (getline(inputFile, line2)) {
istringstream ss2(line2);
ss2 >> $input_cases;
$cases = $input_cases;
}
do {
/*More Useless Code*/
myFile.open("database.txt");
myFile << $balance << "\t" << $level << "\t" << $cases;
myFile.close();
} while($roll_again == "yes" || $roll_again == "y" || $roll_again == "Yes" || $roll_again == "Y");
}
解决方案
- 您不检查
open()
调用是否成功。 inputFile
在写入之前不要关闭myFile
。你怎么知道当文件已经打开读取时写入文件会起作用?- 你为什么使用
while (getline(inputFile, line))
. 那没有意义。每行的值都将分配给$balance
. - 您正在将制表符 (
"\t"
) 而不是换行符 ("\n"
) 写入文件,因此所有三个值都将位于一行。 - 如果 $roll_again 是 y,Y,yes 或 Yes,您的最终循环将永远不会退出。但是你从来没有给 $roll_again 赋值过,为什么要循环呢?
推荐阅读
- python - 无法比较和管理 timedelta 对象
- python - 在非默认 Python 实例中安装 Python 模块(已安装多个实例)
- objective-c - 如何格式化使用 NSASCIIStringEncoding 编码的字符串
- python - 如何充分显示和验证“show_prediction”结果?
- here-api - 无论如何可以在 HERE api 上查询过去的数据吗?(例如上周星期三下午 2 点来自洛杉矶的交通数据)
- html - 如何在 Dart HTML 中模拟键盘事件
- awk - 我只想打印'====='和'====='之间的最后一个日志
- java - 将片段放入视图时自动创建新的数组列表
- routes - 如何对作为嵌套反应路线一部分的反应组件进行单元测试
- python - Pytorch 使用 HTTPS 加载自定义数据非常慢