不接斧头的德叔 发表于 2017-4-6 18:15

关于c++ 输入输出 文件

求帮忙解决   在线等程序在图片上


简单说一下就是 我想第一个对象a 是txt 第一行的内容那我再建立一个对象b怎么去第二行上读内容   对象c 怎么去第三行读   
挺着急的   求帮帮忙   !!!1

虚无空幻 发表于 2017-4-6 20:43

不接斧头的德叔 发表于 2017-4-6 19:14
表示看不懂   我自己再研究一下吧

签名的狂三暴露年龄了.
这样
std::string line;
std::vector<std::string>list;
ifstream fin("H:\\123456.txt");
while (getline(fin, line))//每执行一次读取一行
{
StringSplit(line.c_str(), " ", list);
//scanf转换后面几个为整数
//printf 直接打印所有数据
}

虚无空幻 发表于 2017-4-6 18:51


void StringSplit(conststd::string& s, const char* delim, std::vector<std::string> &elems)
{

        size_t pos = 0;
        size_t len = s.length();
        size_t delim_len = strlen(delim);
        if (delim_len == 0) return;
        while (pos < len)
        {
                int find_pos = s.find(delim, pos);
                if (find_pos < 0)
                {
                        elems.push_back(s.substr(pos, len - pos));
                        break;
                }
                elems.push_back(s.substr(pos, find_pos - pos));
                pos = find_pos + delim_len;
        }
}

///////////////
        std::ifstream fin("D:\\123456.txt", std::ios_base::in | std::ios::binary);
        fin.seekg(0, std::ios::end);
        size_t size = (size_t)fin.tellg();
        fin.seekg(0, 0);
        buffer.resize(size);
        fin.read((char*)buffer.c_str(), size);
        fin.close();
        std::vector<std::string>list;
        StringSplit(buffer, "\r\n", list);

不接斧头的德叔 发表于 2017-4-6 18:16

顶一下求帮忙 !!

不接斧头的德叔 发表于 2017-4-6 18:22

再顶一下

Titanic 发表于 2017-4-6 18:29

不懂C会JAVA

不接斧头的德叔 发表于 2017-4-6 18:29

没人   吗?!!!

不接斧头的德叔 发表于 2017-4-6 18:31

158563862 发表于 2017-4-6 18:29
不懂C会JAVA

感谢顶贴

唯有我最酷 发表于 2017-4-6 18:41

对于文本操作不太会,你查查吧,不行就用c的呗

不接斧头的德叔 发表于 2017-4-6 18:42

好尴尬呀!!! 怎么都不会啊@ 大牛

虚无空幻 发表于 2017-4-6 18:52

每行内容再用StringSplit来分割就ok了.
页: [1] 2
查看完整版本: 关于c++ 输入输出 文件