对于熟悉C 语言的coder ,可能在C++的很多方面都有一点不适应。
我今天的主要目的是实现一个从文件中按行读取,每行中不同的变量以空格分开。
实现代码:
- #include<map>
- #include<iostream>
- #include<fstream>
- #include<string>
- using namespace std;
- string src="/usr/local/";
- int read_mysql_xml(string &host,string &user,string &pass, string &dbname,int &port)
- {
- ifstream readfile;
- string line;
- int count=5;
- map<string ,string> infile;
-
- readfile.open(src.c_str(),ios::in);
-
- if(!readfile)
- {
- return 1; /*没有打开该文件*/
- }
- while(count--)
- {
- getline(readfile,line);
- string::size_type index = line.find_first_of(" ",0);
- string first = line.substr(0,index);
- string second = line.substr(index+1);
- infile[first]=second;
- }
- host = infile["host"];
- user = infile["user"];
- pass = infile["pass"];
- dbname = infile["dbname"];
- port = atoi(infile["port"].c_str());
- }
错误:
error: no matching function for call to 'std::basic_ifstream >::basic_ifstream(std::string&)'
是对于文件流初始化时的文件名传递的是 string 类型。
阅读(30418) | 评论(0) | 转发(0) |