C++ 使用string一行一行读取文件

c++ 读取文件中的一行一行数据

通用模板:

std::ifstream in(dictpath);
    if(!in)
    {
        std::cout << __DATE__ << " " << __TIME__
                  << __FILE__ << " " << __LINE__
                  << ": dict read error" << std::endl;
        exit(-1);
    }

    std::string line;
    while(getline(in, line))
    {
        std::stringstream ss(line);
        std::string key;
        int value;
        ss >> key >> value;
        dict_.push_back(make_pair(key, value));
    }
    in.close();
时间: 2024-12-24 23:51:10

C++ 使用string一行一行读取文件的相关文章

java读取文件

1 java8读取文本文件  2   3           4     public static void java8ReadFileLines(String fileName) throws IOException {  5         List lineList = Files.readAllLines(Paths.get(fileName), StandardCharsets.UTF_8);  6   7         for(String line:lineList){  8 

IO流一行一行读取TXT文件

我们在开发或者测试的时候,往往会用到读取本地txt文件内容来处理数据的情况.下面是读取本地txt文件内容,是一行一行读取.如下列txt例子 小明 20 小红 20 小亮 20 下面是代码: public void test1(){ try { String encoding="utf-8";//GBK String filePath="/demo/RegionList_zh_CN.txt";//要读取的文件路径 File file=new File(filePath

Java实现一行一行读取文件内容(进行编码处理)

// 读取文件内容public String readFile(){ String path = ""; File file = new File(path); StringBuilder result = new StringBuilder(); try{ BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));//构造一个B

关于C语言读取文件时候多读一行

梗概:为什么C语言读取文件到结构体时为什么整天多读一行?一切都是[!feof(fp)]的错!!! while (!feof(fp)) {  fgets(buffer,256,fp);  j++; } 像这样的代码,是很多C语言学者经常犯的错误!! feof()这个函数是用来判断指针是否已经到达文件尾部的.若fp已经指向文件末尾,则feof(fp)函数值为"真",即返回非零值:否则返回0. 对呀!那有什么问题的呢? 其实feof() 这个函数是当读到文件结束符就返回 true 值,而非到

shell读取文件的每一行

写法一: ---------------------------------------------------------------------------- #!/bin/bash while read line do echo $line done < filename(待读取的文件) ---------------------------------------------------------------------------- 写法二: --------------------

shell读取文件的每一行内容并输出【转】

写法一: #!/bin/bash while read line do echo $line done < file(待读取的文件) 写法二: #!/bin/bash cat file(待读取的文件) | while read line do echo $line done 写法三: for line in `cat file(待读取的文件)` do echo $line done 说明:for逐行读和while逐行读是有区别的,如: $ cat file aaaa bbbb cccc dddd

读取文件最后一行的两种方式

'''读取文件最后一行''' import os # 小文件:批量读取 def get_last_line(filename='mark.csv'): fullfilename = os.path.join(os.path.dirname(__file__), filename) with open(fullfilename, 'r', encoding='utf-8') as f: lines = f.readlines() # 批量 lastline = lines[-1] return l

php处理文件,一行一行的读取,并且把没用的行删除。

今天做sitemap.xml.找了个国外的网站,http://www.freesitemapgenerator.com/这个可以生成5000条数据,以前找那个只能生成500条.但是,生成的xml标签中有些是没有用的,如图: 于是想到了php处理文件,一行一行的读取,并且把没用的行删除. 代码如下: <?php  set_time_limit(0); $file=fopen('sitemap.xml','r'); while (!feof($file)){   $line = fgets($fil

Python读取文件的最后一行(非空行)

利用Python读取文件(针对大文件和小文件两种)的首行(第一行)和末行(最后一行).脚本借鉴了前人的两种处理思路(在下面的脚本中有注释说明引用出处),并修正了原先两种处理方法中如果文件末尾含有多个空行而返回空行的问题. 脚本内容可以从GitHub上获取: https://github.com/DingGuodong/LinuxBashShellScriptForOps/blob/master/functions/file/getFileLastLine.py 脚本内容如下: #!/usr/bi