将文件中的数据存储到类有空格怎么办
时间: 2024-03-05 17:50:46 浏览: 83
如果您的文件中的数据包含空格,您需要使用getline函数按行读取数据,并使用stringstream将每行数据分割成多个子字符串。然后,您可以将每个子字符串转换为适当的数据类型,并将它们存储在类对象中。
例如,假设您的文件中包含以下数据:
```
mark
1 2.5 This is a string
2 3.7 Another string
```
您可以使用以下代码将这些数据存储在类对象中:
```cpp
#include <fstream>
#include <sstream>
#include <string>
using namespace std;
class MyData {
public:
int num1;
double num2;
string str;
};
int main() {
ifstream inputFile("data.txt");
if (!inputFile.is_open()) {
cout << "Failed to open file!" << endl;
return 0;
}
string line;
MyData data;
while (getline(inputFile, line)) {
if (line == "mark") {
// 读取数据
getline(inputFile, line);
stringstream ss(line);
ss >> data.num1 >> data.num2;
getline(ss, data.str);
// 存储数据到类对象中
// ...
}
}
inputFile.close();
return 0;
}
```
在这个例子中,您可以看到我们使用了stringstream来将每行数据分割成子字符串,并使用getline函数将第三个子字符串读入一个字符串类型的成员变量中,因为该字符串包含空格。