C++中关于文本内容的实用操作集合(新)(添加一些关于文件流的介绍)
首先先给大家一个链接:http://baike.baidu.com/view/1679747.htm
主要是关于ios的使用,头文件要include<ios>,然后就可以调用下面的一些操作了。
ios::app: 以追加的方式打开文件
ios::ate: 文件打开后定位到文件尾,ios:app就包含有此属性
ios::binary: 以二进制方式打开文件,缺省的方式是文本方式。两种方式的区别见前文
ios::in: 文件以输入方式打开
ios::out: 文件以输出方式打开
ios::nocreate: 不建立文件,所以文件不存在时打开失败
ios::noreplace:不覆盖文件,所以保存文件时如果文件存在失败
ios::trunc: 如果文件存在,把文件长度设为0
今天写程序的时候涉及到了关于文本内容的操作,本来只是解决一个简单的问题,但是自己下午偷了个懒,翻了翻书,看了看那博客,收集了一些关于文本操作的内容,跟大家分享一下。
批量读写文本内容
示例代码:
#include<iostream>
#include<fstream>
#include<string>
#include<stdio.h>
using namespace std;
int main()
{
int i, natom;
char filename;
//写文件
for (i=0; i<3; i++){
sprintf(filename,"t%d.txt",i);
cout << filename <<endl;
ofstream myfile(filename);
myfile << 0 <<endl;
myfile.close();
}
//读文件
for (i=0; i<3; i++){
sprintf(filename,"t%d.txt",i);
cout << filename <<endl;
ifstream myfile(filename);
myfile >> natom;
cout << natom <<endl;
myfile.close();
}
return 0;
}
重点是sprintf的使用,它是一个字符串格式化指令,在这里可以用来对文件名进行逐一读取来控制读取的进度。
C++读取一个目录下所有文件名称
示例代码:
#include <stdio.h>
#include <dirent.h>
#include <string.h> typedef struct FileList
{
char filename[64];
struct FileList *next;
}FILENODE; FILENODE* getFiles(char *dir/**//*文目录*/)
{
DIR *directory_pointer;
struct dirent *entry;
directory_pointer=opendir(dir);
struct FileList start;
struct FileList *filesNode;
start.next=NULL;
filesNode=&start;
while ((entry=readdir(directory_pointer))!=NULL)
{
filesNode-> next=(struct FileList *)malloc(sizeof(struct FileList));
filesNode=filesNode-> next;
strcpy(filesNode-> filename,entry-> d_name);
filesNode-> next=NULL;
}
closedir(directory_pointer);
filesNode=start.next;
return filesNode;
} int main()
{
struct FileList *filesNode;
char dir[100]="D:\\down";
filesNode=getFiles(dir); if (filesNode==NULL)
{
printf("没有成功");
return 0;
}
while(filesNode)
{
printf( "%s\n ",filesNode-> filename);
filesNode=filesNode-> next;
} system("pause");
return 0;
}
在文本操作中vector的妙用
这个是我在CSDN上看到的,觉得总结的挺好的,大家可以看看。
http://blog.csdn.net/isbnhao/article/details/8052409
http://blog.csdn.net/isbnhao/article/details/8055359
其他的还有关于顺序文件的创建和读取,以及其他的一些操作,我会在后面陆续给大家更新,欢迎关注,哈哈。
C++中关于文本内容的实用操作集合(新)(添加一些关于文件流的介绍)的更多相关文章
- 【转载】 C#往文件中追加文本内容信息
在C#的文件相关操作中,往已有的文件中追加相关内容信息也是常有的操作,例如我们在写网站日志文件的时候,很多时候是1天的日志存放在一个txt文件中,此时就涉及到往原有文件中追加写入文本内容信息,追加文本 ...
- s:textarea中的文本内容在什么时候才能被赋值给Action中的属性?
下面是jsp程序片段: <s:form id="startForm" name ="startForm" action="/hall/hall_ ...
- .net获取select控件中的文本内容
.net获取select控件中的文本内容 2009-11-28 21:19小V古 | 分类:C#/.NET | 浏览1374次 <select id="SecType" st ...
- 利用java从docx文档中提取文本内容
利用java从docx文档中提取文本内容 使用Apache的第三方jar包,地址为https://poi.apache.org/ docx文档内容如图: 目录结构: 每个文件夹的名称为日期加上来源,例 ...
- jq选择器(jq 与 js 互相转换),jq操作css样式 / 文本内容, jq操作类名,jq操作全局属性,jq获取盒子信息,jq获取位置信息
jq选择器(jq 与 js 互相转换) // 获取所有的页面元素jq对象 $('css3选择器语法'); var $box = $(".box:nth-child(1)"); 获取 ...
- C++ 读取txt文本内容,并将结果保存到新文本
循序渐进学习读文件 // readFile.cpp : 定义控制台应用程序的入口点. #include "stdafx.h" #include <iostream> # ...
- 【编程技巧】JAVA读取url地址中的文本内容
应用场景:最常见的是有自已的网站,在注册广告联盟的时候.都需要下载一个文本文件来验证网站的有效性.例如淘宝.京东等都有这一过程 实现代码://读url地址的内容 public void ...
- 4-4 Selector有一个方法可以获取Selector中的文本内容---extract()
####### 例如: response.xpath('//div[@class ="entry-header"]/h1/text()').extract()
- JavaScript的一些实用操作(逐步添加)
1.js代码简洁高效计时 console.time('a'); //记录时间开始 ... console.timeEnd('a'); //记录时间结束 a: 12857.81103515625ms / ...
随机推荐
- centos7 rpm 安装 rabbitMQ 最新版
首先打开官网: http://www.rabbitmq.com/install-rpm.html 先到右侧导航栏来看一下 : 第一个红框是指的在linux中安装,全英文的,乱的一笔,但是静下心来就可以 ...
- mysql修改时区的几种方法(转载自https://www.cnblogs.com/shiqiangqiang/p/8393662.html)
说明: 以下记录修改mysql时区的几种方法. 具体: 方法一:通过mysql命令行模式下动态修改 1.1 查看mysql当前时间,当前时区 select curtime(); #或select no ...
- Linux 获取帮助
Linux中获取帮助的方法 方法: COMMAND --help 或者 help COMMAND whatis man或info 本地帮助文档 /usr/share/doc/ ...
- Problem 9
Problem 9 # Problem_9.py """ A Pythagorean triplet is a set of three natural numbers, ...
- Weblogic常用监控指标
http://blog.csdn.net/konglongaa/article/details/53897562
- HDU2188(巴什博奕)
悼念512汶川大地震遇难同胞--选拔志愿者 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- Github博客私人订制(一)
这是博客订制的第一步,简单博客的建立. (这里不做截图说明了,贴图实在是太累,有问题大家QQ私聊我) (一)创建Github账号 URL:https://github.com/ (二)登录Github ...
- Android scrollTo() scrollBy() Scroller解说及应用
版本号:1.0 日期:2014.6.17 2014.6.18 版权:© 2014 kince 转载注明出处 scrollTo() .scrollBy()及 Scroller在视图滑动中常常使用 ...
- Java測试覆盖率工具----Cobertura,EclEmma
Cobertura 是一个与Junit集成的代码覆盖率測量工具 它是免费.开源的 它能够与Ant和Maven集成.也能够通过命令行调用 能够生成HTML或XML格式的报告 能够依照不同的标准对HTML ...
- LeetCode题解 || Longest Substring Without Repeating Characters (O(n)算法)问题
problem: Given a string, find the length of the longest substring without repeating characters. For ...