FileIO,写入文档,var = 1.0 变为 1

FileIO, writing to document, var = 1.0 becomes 1

本文关键字:变为 文档 FileIO var      更新时间:2023-10-16

当我让用户输入章节编号(例如 1.1、3.4、4.23 等(时,我需要能够将章节编号写入包含 1.0 的.txt文档中,其中当前 1.0 仅写为整数 1(或 1.10 写为 1.1(。

作为一堆"如果"语句来做这件事是混乱的,有没有更好的方法?

编辑:

#include <iostream>
#include <fstream>
#include <sstream>
using namespace std;
int main()
{
cout << "Enter a float here" << endl;
float f;
cin >> f;
ofstream fine;
fine.open("fine.txt", ios::out);
fine << f << "n";
}

如果输入 1.0 作为浮点数,则会将 1 保存到.txt。我需要做的是让用户输入像 1.0 或 1.10 这样的数字,并让它们按原样写入.txt,而不是截断零。

float

表示"节号"是一个糟糕的选择。如果您使用float则 §1.1 == §1.10 和 §1.3.2 不存在。请尝试std::string

#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
cout << "Enter a section number here" << endl;
string f;
cin >> f;
ofstream fine;
fine.open("fine.txt", ios::out);
fine << f << "n";
}