首先先给大家一个链接:http://baike.baidu.com/view/1679747.htm

主要是关于ios的使用,头文件要include<ios>,然后就可以调用下面的一些操作了。

  1. ios::app 以追加的方式打开文件
  2. ios::ate 文件打开后定位到文件尾,ios:app就包含有此属性
  3. ios::binary 以二进制方式打开文件,缺省的方式是文本方式。两种方式的区别见前文
  4. ios::in 文件以输入方式打开
  5. ios::out 文件以输出方式打开
  6. ios::nocreate 不建立文件,所以文件不存在时打开失败
  7. ios::noreplace:不覆盖文件,所以保存文件时如果文件存在失败
  8. ios::trunc 如果文件存在,把文件长度设为0

今天写程序的时候涉及到了关于文本内容的操作,本来只是解决一个简单的问题,但是自己下午偷了个懒,翻了翻书,看了看那博客,收集了一些关于文本操作的内容,跟大家分享一下。

批量读写文本内容

示例代码:

  1. #include<iostream>
  2. #include<fstream>
  3. #include<string>
  4. #include<stdio.h>
  5. using namespace std;
  6. int main()
  7. {
  8. int i, natom;
  9. char filename;
  10. //写文件
  11. for (i=0; i<3; i++){
  12. sprintf(filename,"t%d.txt",i);
  13. cout << filename <<endl;
  14. ofstream myfile(filename);
  15. myfile << 0 <<endl;
  16. myfile.close();
  17. }
  18. //读文件
  19. for (i=0; i<3; i++){
  20. sprintf(filename,"t%d.txt",i);
  21. cout << filename <<endl;
  22. ifstream myfile(filename);
  23. myfile >> natom;
  24. cout << natom <<endl;
  25. myfile.close();
  26. }
  27. return 0;
  28. }
  1. 重点是sprintf的使用,它是一个字符串格式化指令,在这里可以用来对文件名进行逐一读取来控制读取的进度。

C++读取一个目录下所有文件名称

示例代码:

  1. #include <stdio.h>
  2. #include <dirent.h>
  3. #include <string.h>
  4.  
  5. typedef struct FileList
  6. {
  7. char filename[64];
  8. struct FileList *next;
  9. }FILENODE;
  10.  
  11. FILENODE* getFiles(char *dir/**//*文目录*/)
  12. {
  13. DIR *directory_pointer;
  14. struct dirent *entry;
  15. directory_pointer=opendir(dir);
  16. struct FileList start;
  17. struct FileList *filesNode;
  18. start.next=NULL;
  19. filesNode=&start;
  20. while ((entry=readdir(directory_pointer))!=NULL)
  21. {
  22. filesNode-> next=(struct FileList *)malloc(sizeof(struct FileList));
  23. filesNode=filesNode-> next;
  24. strcpy(filesNode-> filename,entry-> d_name);
  25. filesNode-> next=NULL;
  26. }
  27. closedir(directory_pointer);
  28. filesNode=start.next;
  29. return filesNode;
  30. }
  31.  
  32. int main()
  33. {
  34. struct FileList *filesNode;
  35. char dir[100]="D:\\down";
  36. filesNode=getFiles(dir);
  37.  
  38. if (filesNode==NULL)
  39. {
  40. printf("没有成功");
  41. return 0;
  42. }
  43. while(filesNode)
  44. {
  45. printf( "%s\n ",filesNode-> filename);
  46. filesNode=filesNode-> next;
  47. }
  48.  
  49. system("pause");
  50. return 0;
  51. }

在文本操作中vector的妙用

这个是我在CSDN上看到的,觉得总结的挺好的,大家可以看看。

http://blog.csdn.net/isbnhao/article/details/8052409

http://blog.csdn.net/isbnhao/article/details/8055359

其他的还有关于顺序文件的创建和读取,以及其他的一些操作,我会在后面陆续给大家更新,欢迎关注,哈哈。

C++中关于文本内容的实用操作集合(新)(添加一些关于文件流的介绍)的更多相关文章

  1. 【转载】 C#往文件中追加文本内容信息

    在C#的文件相关操作中,往已有的文件中追加相关内容信息也是常有的操作,例如我们在写网站日志文件的时候,很多时候是1天的日志存放在一个txt文件中,此时就涉及到往原有文件中追加写入文本内容信息,追加文本 ...

  2. s:textarea中的文本内容在什么时候才能被赋值给Action中的属性?

    下面是jsp程序片段: <s:form id="startForm" name ="startForm" action="/hall/hall_ ...

  3. .net获取select控件中的文本内容

    .net获取select控件中的文本内容 2009-11-28 21:19小V古 | 分类:C#/.NET | 浏览1374次 <select id="SecType" st ...

  4. 利用java从docx文档中提取文本内容

    利用java从docx文档中提取文本内容 使用Apache的第三方jar包,地址为https://poi.apache.org/ docx文档内容如图: 目录结构: 每个文件夹的名称为日期加上来源,例 ...

  5. jq选择器(jq 与 js 互相转换),jq操作css样式 / 文本内容, jq操作类名,jq操作全局属性,jq获取盒子信息,jq获取位置信息

    jq选择器(jq 与 js 互相转换) // 获取所有的页面元素jq对象 $('css3选择器语法'); var $box = $(".box:nth-child(1)"); 获取 ...

  6. C++ 读取txt文本内容,并将结果保存到新文本

    循序渐进学习读文件 // readFile.cpp : 定义控制台应用程序的入口点. #include "stdafx.h" #include <iostream> # ...

  7. 【编程技巧】JAVA读取url地址中的文本内容

    应用场景:最常见的是有自已的网站,在注册广告联盟的时候.都需要下载一个文本文件来验证网站的有效性.例如淘宝.京东等都有这一过程 实现代码://读url地址的内容        public void ...

  8. 4-4 Selector有一个方法可以获取Selector中的文本内容---extract()

    ####### 例如: response.xpath('//div[@class ="entry-header"]/h1/text()').extract()

  9. JavaScript的一些实用操作(逐步添加)

    1.js代码简洁高效计时 console.time('a'); //记录时间开始 ... console.timeEnd('a'); //记录时间结束 a: 12857.81103515625ms / ...

随机推荐

  1. 在fedora「27」下,安装mysql 问题总结

    有时会出现,没有mysql.sock,不存在的问题, Can't connect to local MySQL server through socket '/var/lib/mysql/mysql. ...

  2. Noip2011 Mayan游戏 搜索 + 模拟 + 剪枝

    写了一下午,终于AC了. 由于n<=5, 所以不需要太多的剪枝和技巧也能过.可以将操作后的消方块和下落和剪枝函数写到一个结构体中,这样会减少调试难度,更加简洁. 可以采用如下剪枝: 1. 如果当 ...

  3. SpringBoot事务注解详解

    @Transactional spring 事务注解 1.简单开启事务管理 @EnableTransactionManagement // 启注解事务管理,等同于xml配置方式的 <tx:ann ...

  4. nginx日志按天自动切割

    1.编写shell脚本,创建nginx_log.sh文件#!/bin/bashsource /etc/profile#设置Nginx日志文件存放目录log_path="/usr/local/ ...

  5. [剑指offer] 49. 丑数

    通俗易懂的解释: 首先从丑数的定义我们知道,一个丑数的因子只有2,3,5,那么丑数p = 2 ^ x * 3 ^ y * 5 ^ z,换句话说一个丑数一定由另一个丑数乘以2或者乘以3或者乘以5得到,那 ...

  6. 【ACM-ICPC 2018 沈阳赛区网络预赛 I】Lattice's basics in digital electronics

    [链接] 我是链接,点我呀:) [题意] [题解] 每个单词的前缀都不同. 不能更明示了... 裸的字典树. 模拟一下.输出一下就ojbk了. [代码] #include <bits/stdc+ ...

  7. 告诉你 SQL 数据库与 NoSQL 数据库的区别

    简单来说 SQL 数据库和 NoSQL 数据库有着共同的目标:存储数据,但存储的方式不同 一. 表 SQL中的表结构具有严格的数据模式约束: 存储数据很难出错. NoSQL存储数据更加灵活自由:可能导 ...

  8. ioremap映射函数

    一.ioremap() 函数 Linux在io.h头文件中声明了函数ioremap(),用来将I/O内存资源的物理地址映射到核心虚地址空间(3GB-4GB)中(这里是内核空间),原型如下: 1.ior ...

  9. oracle导入expdp、导出impdp数据库用户

    仅限oracle服务器上执行:把172.16.251.136:1521/orcl的AMI4_2用户导入到192.168.2.30:1521/orclss中的AMI1用户:  关于导入导出更详细的见文章 ...

  10. git常规使用的命令

    注: xxxx代表你的分支名称   1:本地新建一个分支,与远程分支关联: git branch --set-upstream-to origin/xxxx xxxx   2:创建本地分支: git ...