假设现在有txt文件如下,需要将里面每一项的内容分别读取并存储,以读取文件中的FrameNo、Y_bits以及Y_psnr三个变量为例进行分析。

txt文件下载:点击下载txt文件

完整C++程序如下:

txt_read.cpp

#include<iostream>
#include<iomanip>
using namespace std;void errorMsg(const char *msg) {printf("error:%s\n", msg);
#ifdef _WIN32system("pause");
#endifexit(-1);
}void read_one_frame_info(int frameNo, int *y_bits, double *y_psnr, char *fileName) {int frameno = 0, qp = 0, uv_bits = 0;char temp[50];char errorText[50];FILE *fp;fp = fopen(fileName, "r"); if (fp == NULL) {sprintf(errorText, "File %s not found", fileName);errorMsg(errorText);}while (!feof(fp)){fscanf(fp, "%s", temp);if (strcmp(temp, "FrameNo:") == 0){fscanf(fp, "%s", temp); // get frame numberframeno = atoi(temp);if (frameno == frameNo){break;}}}if (feof(fp)){sprintf(errorText, "In function read_one_frame_info: frame number %d not found", frameNo);errorMsg(errorText);}fscanf(fp, "%s", temp);fscanf(fp, "%s", temp); // get Y_bits*y_bits = atoi(temp);fscanf(fp, "%s", temp);fscanf(fp, "%s", temp); // get UV_bitsfscanf(fp, "%s", temp);fscanf(fp, "%s", temp); // get QPfscanf(fp, "%s", temp);fscanf(fp, "%s", temp); // get Y_psnr*y_psnr = (float)atof(temp);fclose(fp);
}void main()
{int frameNum = 100;int *y_bit;double *y_psnr;y_bit = (int *)malloc(sizeof(int)*frameNum);y_psnr = (double *)malloc(sizeof(double)*frameNum);char *fileName = "per_frame_stat.txt";for (int i = 0; i < frameNum; i++) {read_one_frame_info(i, &y_bit[i], &y_psnr[i], fileName);//普通输出//cout << "FrameNo:" << i << "  " <<//"bitRate:" << y_bit[i] << " " << " PSNR:" << y_psnr[i] << endl;//对齐输出cout <<"FrameNo:"<< setw(10) << setfill(' ') << left <<i <<"  "<<"bitRate:" << setw(10) << setfill(' ') << left<<y_bit[i] << " " << " PSNR:" <<y_psnr[i] << endl;}
}

注意:

cout设置对齐方式:..........<< setw(10) << setfill(' ') << left..........

对齐与非对齐方式运行结果如下,当然不同的宽度间隔可以灵活调整,也可以指定读取txt文件中的其它内容。

非对齐:

对齐:

C++实现分割读取txt文件以及对齐打印设置相关推荐

  1. java读取文件是乱码_java读取txt文件乱码解决方案

    因为txt默认的选项是ANSI,即GBK编码.GBK和GB2312都是中文编码,在这里解释一下两者的区别. 总体说来,GBK包括所有的汉字,包括简体和繁体.而gb2312则只包括简体汉字. GBK: ...

  2. java读取txt文件乱码解决方案

    因为txt默认的选项是ANSI,即GBK编码.GBK和GB2312都是中文编码,在这里解释一下两者的区别. 总体说来,GBK包括所有的汉字,包括简体和繁体.而gb2312则只包括简体汉字. GBK: ...

  3. python按行读取txt文件-Python逐行读取txt文本,按符合分割词并逐行写入txt

    背景Background: 我的txt文件里面存放的是搜索词,由于原始的query(搜索词)都是用/或者.来分割词,而我要达到的是每个词语是单独的一行,并且写入txt 第一步:按行读取txt文件 s ...

  4. python读取txt文件如何按数字分隔_python 读txt文件,按‘,’分割每行数据操作

    按行读取TXT文件 fname = './新建文件夹/yob2010.txt' //文件夹路径 with open(fname,'r+',encoding='utf-8') as f: for lin ...

  5. python接口自动化参数化_Python读取txt文件数据的方法(用于接口自动化参数化数据)...

    小试牛刀: 1.需要python如何读取文件 2.需要python操作list 3.需要使用split()对字符串进行分割 代码运行截图 : 代码(copy) #encoding=utf-8 #1.r ...

  6. python读取txt文件写入-Python读写txt文本文件的操作方法全解析

    一.文件的打开和创建 >>> f = open('/tmp/test.txt') >>> f.read() 'hello python! hello world! ...

  7. python读取整个txt文件-python怎么读取txt文件内容

    读取文件: 步骤:打开 -- 读取 -- 关闭>>> f = open('/tmp/test.txt') >>> f.read() 'hello python! h ...

  8. python怎么读取txt文件-python怎么读取txt文件内容

    读取文件: 步骤:打开 -- 读取 -- 关闭>>> f = open('/tmp/test.txt') >>> f.read() 'hello python! h ...

  9. c++语言读取txt文件,C++中读写txt文件并分离字符的方法

    在实际工程中,经常遇到需要读取txt文件,txt文件中存的是一些小数或者整型数据,在C++中,可以利用string类和ifstream库文件对txt进行的读取,不过读回的数据经常是以字符串的形式返回, ...

最新文章

  1. idea 如何看bytecode_IDEA字节码学习查看神器介绍
  2. xmpp这一段蛋疼的 坑,
  3. NHibernate之Could not initialize proxy - no Session Bug
  4. 多进程客户端-服务器模型
  5. 如何使用Python创建自己的加密货币
  6. excel修改列名_听说你还在手动合并Excel,看看这个吧!?
  7. ASP.NET Core 运行原理剖析
  8. 【jQuery笔记Part2】01-jQuery显示隐藏切换动画侧边广告案例
  9. dbf如何导入oracle_克服Oracle导数一切难题
  10. “物联网”中,少了这项技术,会损失多少,算过吗!
  11. 异常关闭MyEclipse 8.6后,不能重启
  12. DragonBones快速入门指南
  13. HDU 1712 ACboy needs your help(分组背包入门题)
  14. python2和python3共存时,设置默认python为python3
  15. java省市区树_Java后台以树形结构返回省市区三级区域信息
  16. 苹果8a1660是什么版本_苹果a1660是什么版本
  17. uva 10098 Generating Fast
  18. 明日方舟泰拉世界解析
  19. 网络安全笔记-26-Linux-基础
  20. Windows系统 修改 dns

热门文章

  1. 服务台与事件管理解决方案
  2. 778. 水位上升的泳池中游泳
  3. 从0到1打造推荐系统-架构篇
  4. java 聚合模式_java 聚合和组合的区别?
  5. php mysql中华图书购物商城
  6. python dataframe是否为空_python if条件判断dataframe是否为空
  7. Python+OpenCV:基于分水岭算法的图像分割(Image Segmentation with Watershed Algorithm)
  8. 校招真题练习001 牛牛找工作(网易)
  9. VMWare——window server 2008/2012 administrator 密码忘记,设置重置密码
  10. 二叉搜索树,和红黑树,