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 / ...
随机推荐
- 在fedora「27」下,安装mysql 问题总结
有时会出现,没有mysql.sock,不存在的问题, Can't connect to local MySQL server through socket '/var/lib/mysql/mysql. ...
- Noip2011 Mayan游戏 搜索 + 模拟 + 剪枝
写了一下午,终于AC了. 由于n<=5, 所以不需要太多的剪枝和技巧也能过.可以将操作后的消方块和下落和剪枝函数写到一个结构体中,这样会减少调试难度,更加简洁. 可以采用如下剪枝: 1. 如果当 ...
- SpringBoot事务注解详解
@Transactional spring 事务注解 1.简单开启事务管理 @EnableTransactionManagement // 启注解事务管理,等同于xml配置方式的 <tx:ann ...
- nginx日志按天自动切割
1.编写shell脚本,创建nginx_log.sh文件#!/bin/bashsource /etc/profile#设置Nginx日志文件存放目录log_path="/usr/local/ ...
- [剑指offer] 49. 丑数
通俗易懂的解释: 首先从丑数的定义我们知道,一个丑数的因子只有2,3,5,那么丑数p = 2 ^ x * 3 ^ y * 5 ^ z,换句话说一个丑数一定由另一个丑数乘以2或者乘以3或者乘以5得到,那 ...
- 【ACM-ICPC 2018 沈阳赛区网络预赛 I】Lattice's basics in digital electronics
[链接] 我是链接,点我呀:) [题意] [题解] 每个单词的前缀都不同. 不能更明示了... 裸的字典树. 模拟一下.输出一下就ojbk了. [代码] #include <bits/stdc+ ...
- 告诉你 SQL 数据库与 NoSQL 数据库的区别
简单来说 SQL 数据库和 NoSQL 数据库有着共同的目标:存储数据,但存储的方式不同 一. 表 SQL中的表结构具有严格的数据模式约束: 存储数据很难出错. NoSQL存储数据更加灵活自由:可能导 ...
- ioremap映射函数
一.ioremap() 函数 Linux在io.h头文件中声明了函数ioremap(),用来将I/O内存资源的物理地址映射到核心虚地址空间(3GB-4GB)中(这里是内核空间),原型如下: 1.ior ...
- oracle导入expdp、导出impdp数据库用户
仅限oracle服务器上执行:把172.16.251.136:1521/orcl的AMI4_2用户导入到192.168.2.30:1521/orclss中的AMI1用户: 关于导入导出更详细的见文章 ...
- git常规使用的命令
注: xxxx代表你的分支名称 1:本地新建一个分支,与远程分支关联: git branch --set-upstream-to origin/xxxx xxxx 2:创建本地分支: git ...