次の情報を含むファイルがあります。
INTERSECTIONS:
1 0.3 mountain and 1st
2 0.9 mountain and 2nd
3 0.1 mountain and 3rd
最初の番号をスキャンして int に格納し、次の番号をスキャンして個別に格納し、通りの名前を文字列に格納するように c++ でスキャンするにはどうすればよいですか? 私はcから切り替えたばかりなので、使用するだけでCでそれを行う方法を知っています
fscanf("%d %lf %s", int, float, string);
また
fgets
文字列を使用しますが、C++ でこれを行う方法がわかりません。どんな助けでもいただければ幸いです
主要:
#include<iostream>
#include<list>
#include <fstream>
#include<cmath>
#include <cstdlib>
#include <string>
#include "vertex.h"
#include "edge.h"
#include "global.h"
using namespace std;
int main ( int argc, char *argv[] ){
if(argc != 4){
cout<< "usage: "<< argv[0]<<"<filename>\n";
}
else{
ifstream map_file (argv[3]);
if(!map_file.is_open()){
cout<<"could not open file\n";
}
else{
std::string line;
std::ifstream input(argv[3]);
int xsect;
int safety;
std:string xname;
std::list<vertex> xsection;
std::list<edge> EdgeList;
while (std::getline(input, line))
{
std::istringstream iss(line);
iss >> xsect >> safety;
std::getline(iss, xname);
}
}
}
}