vector<string> v 怎么转化成 char

因为我想先从TXT文本中读取字符串,保存到string后用C语言来处理,首先从v这个队列中读取一行进char,然后再逐行处理单个字符,这样比较好操作。vector<str... 因为我想先从TXT文本中读取字符串,保存到string后用C语言来处理,
首先从v 这个队列中读取一行进char ,然后再逐行处理单个字符,这样比较好操作。
vector<string> 方便呢还是 string str[]好呢
展开
 我来答
cqdjyy01234
2013-10-20 · TA获得超过1147个赞
知道小有建树答主
回答量:267
采纳率:50%
帮助的人:301万
展开全部
#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;
}

不是太明白你的意思。。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式