在 C++ 中逐行处理文件,其中一行是字符串,第二行是浮点数数组
Process file by line in C++ where one line is string and second is array of floats
我有这个文件格式:
Jane Doe
10 3.1 8 7.4 5 10 6 8 0.1 2
我想逐行读取文件,第一行存储在一个字符串中,第二行是一个浮点数数组。
string name;
double scores[10];
ifstream scoreFile;
scoreFile.open(SCORES_FILENAME);
if (scoreFile) {
while (getline (scoreFile,line)) {
// ??
}
scoreFile.close();
}
我该怎么做?
可以用一个std::istringstream
来解析数组,eg:
string name, line;
double scores[10];
...
getline(scoreFile, name);
getline(scoreFile, line);
std::istringstream iss(line);
for(int i = 0; (i < 10) && (iss >> scores[i]); ++i);
我有这个文件格式:
Jane Doe
10 3.1 8 7.4 5 10 6 8 0.1 2
我想逐行读取文件,第一行存储在一个字符串中,第二行是一个浮点数数组。
string name;
double scores[10];
ifstream scoreFile;
scoreFile.open(SCORES_FILENAME);
if (scoreFile) {
while (getline (scoreFile,line)) {
// ??
}
scoreFile.close();
}
我该怎么做?
可以用一个std::istringstream
来解析数组,eg:
string name, line;
double scores[10];
...
getline(scoreFile, name);
getline(scoreFile, line);
std::istringstream iss(line);
for(int i = 0; (i < 10) && (iss >> scores[i]); ++i);