vector<string> v 怎么转化成 char
因为我想先从TXT文本中读取字符串,保存到string后用C语言来处理,首先从v这个队列中读取一行进char,然后再逐行处理单个字符,这样比较好操作。vector<str...
因为我想先从TXT文本中读取字符串,保存到string后用C语言来处理,
首先从v 这个队列中读取一行进char ,然后再逐行处理单个字符,这样比较好操作。
vector<string> 方便呢还是 string str[]好呢 展开
首先从v 这个队列中读取一行进char ,然后再逐行处理单个字符,这样比较好操作。
vector<string> 方便呢还是 string str[]好呢 展开
1个回答
展开全部
#include<fstream>
#include<iostream>
#include<string>
#include<iomanip>
int main(int narg, char** arg){
if(narg > 1){
std::ifstream istr(arg[1]);
if(istr.is_open()){
std::string tmp;
std::streamsize line = 0;
while(getline(istr, tmp)){
++line;
//std::cout<<"line "<<std::setw(2)<<line<<": "<<tmp<<"\n";
//或
std::cout<<"line "<<line<<": "<<tmp.c_str()<<"\n";
//tmp.c_str()返回C风格的字符串,即char[]
}
}else{
std::cerr<<"File open failed.\n";
}
}else{
std::cerr<<"File name needed.\n";
}
return 0;
}
更多追问追答
追问
你这个是在读取一行之后马上就显示一行了吧?这没用,我是把全部TXT内容都存进了
vector的,就好像一个字符串的数组里,就好像 char *[] 这样,然后再取出来一口气循环显示,我主要想知道这部分(
vector
中取出一行字符串,,然后保存到其他char 中)。
追答
这样?
#include<fstream>
#include<iostream>
#include<string>
#include<iomanip>
#include<vector>
void f(const char* str){}
int main(int narg, char** arg){
if(narg > 1){
std::ifstream istr(arg[1]);
if(istr.is_open()){
std::vector<std::string> all;
std::string tmp;
while(getline(istr, tmp)){
all.push_back(tmp);
}
for(size_t i = 0; i != all.size(); ++i) f(all[i].c_str());
}else{
std::cerr<<"File open failed.\n";
}
}else{
std::cerr<<"File name needed.\n";
}
return 0;
}
不是太明白你的意思。。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询