我有一個文件,我想讀入地圖。從文件讀取內容到地圖的C++
file.txt
temperature 55
water_level 2
rain 10
........
雖然我知道我可以使用C函數'sscanf'來解析數據。我寧願用C++來做這件事(我只習慣這種語言)並將它讀入地圖(第一列作爲鍵,第二列作爲值)。
我已經如下嘗試過:
#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
#include <stdio.h>
#include <string.h>
#include <map>
using namespace std;
int main(){
const char *fileName="/home/bsxcto/Wedeman_NucPosSimulator/test/params.txt";
ifstream paramFile;
paramFile.open(fileName);
string line;
string key;
double value;
map <string, int> params; #### errors
while (paramFile.good()){
getline(paramFile, line);
istringstream ss(line);
ss >> key >> value; # set the variables
params[key] = value; # input them into the map
}
inFile.close();
return 0;
}
但是它在地圖結構的初始化,我得到一堆錯誤:
Multiple markers at this line
- ‘value’ cannot appear in a constant-
expression
- ‘key’ cannot appear in a constant-expression
- template argument 2 is invalid
- template argument 1 is invalid
- template argument 4 is invalid
- template argument 3 is invalid
- invalid type in declaration before ‘;’ token
我也試過「地圖」和'地圖',但它們也不起作用。 任何人都可以幫忙嗎?
你真的有'#'在你的源文件中,比如「'#### errors'」嗎? – genpfault
@drescherjm他們是不同的圖書館,雖然C沒有在那裏使用。 – lilezek
什麼是'inFile'?基本上,你在發佈之前沒有努力去解決這個問題。投票關閉印刷錯誤。 –