C++对ASCII文件的操作例子
从键盘读入一行字符,把其中的字母字符依次放在磁盘文件f2.dat中,再把它从磁盘文件读入程序,将其中的小写字母改写成大写字母,再存入磁盘文件f3.dat.
code:
#include<iostream>
#include<fstream>
#include<cstdlib>
using namespace std;
//save_to_file函数从键盘读入一行字符,并将其中的字母存入磁盘文件
void save_to_file()
{
ofstream outfile("f2.dat");
//定义输出文件流对象outfile,以输出方式打开磁盘文件f2.dat
if(!outfile)
{
cerr<<"open f2.dat error!"<<endl;
exit(1);
}
char c[80];
cout<<"please input something:"<<endl;
cin.getline(c,80); //从键盘输入一行字符
for(int i=0;c[i]!=0;i++)//对字符逐个处理,直到遇到'/0'为止
{
if(c[i]>=65&&c[i]<=90||c[i]>=97&&c[i]<=122)//如果是字母字符
{
outfile.put(c[i]); //将母字符存入磁盘文件f2.dat
cout<<c[i]; //同时将字母在显示器进行显示
}
}
cout<<endl;
outfile.close(); //关闭f2.dat文件
}
//get_from_file函数从磁盘读入字符,将其中的小写字母改为大写字母,然后存回
void get_from_file()
{
char ch;
ifstream infile("f2.dat",ios::in);
//定义输入文件流outfile,以输入方式打开磁盘文件f2.dat
if(!infile)
{
cerr<<"open f2.dat error!"<<endl;
exit(1);
}
ofstream outfile("f3.dat");
//定义输出文件流outfile,以输出方式打开磁盘文件f3.dat
if(!outfile)
{
cerr<<"open f3.dat error!"<<endl;
exit(1);
}
while(infile.get(ch)) //当读取成功时,执行下面的符合语句
{
if(ch>=97&&ch<=122) //ch为小写字母
{
ch=ch-32; //将小写字母转化为大写字母
}
outfile.put(ch); //将该大写字母存入磁盘文件f3.dat
cout<<ch; //同时在显示器输出
}
cout<<endl;
infile.close();
outfile.close();
}
int main()
{
save_to_file();
//调用save_to_file(),从键盘输入数据并保存到磁盘
get_from_file();
//调用get_from_file(),从磁盘打开文件,并操作,然后写回磁盘
return 0;
}
输出结果:
/*
please input something:
SDJKJKkjkjkl232343KJKLJKJKLJsjkdfjkdsjKLJKJKL
SDJKJKkjkjklKJKLJKJKLJsjkdfjkdsjKLJKJKL
SDJKJKKJKJKLKJKLJKJKLJSJKDFJKDSJKLJKJKL
*/
第一行为我输入的数据,第二行是f2.dat中的数据,第三行是f3.dat中的数据。
我们还可以通过type命令,查看f2.dat和f3.dat中的数据。
/*
C:\Users\hp>cd /d e:\test e:\test>dir
驱动器 E 中的卷是 Work
卷的序列号是 0FBA-069C e:\test 的目录 2013/12/11 22:00 <DIR> .
2013/12/11 22:00 <DIR> ..
2013/12/11 22:00 39 f2.dat
2013/12/11 22:00 39 f3.dat
2013/12/11 21:58 1,661 one.cpp
2013/12/11 22:00 6,560,425 one.exe
4 个文件 6,562,164 字节
2 个目录 207,104,806,912 可用字节 e:\test>type f2.dat
SDJKJKkjkjklKJKLJKJKLJsjkdfjkdsjKLJKJKL
e:\test>
e:\test>
e:\test>type f3.dat
SDJKJKKJKJKLKJKLJKJKLJSJKDFJKDSJKLJKJKL
e:\test>
e:\test>
*/
C++对ASCII文件的操作例子的更多相关文章
- C++学习48 对ASCII文件的读写操作
如果文件的每一个字节中均以ASCII代码形式存放数据,即一个字节存放一个字符,这个文件就是ASCII文件(或称字符文件).程序可以从ASCII文件中读入若干个字符,也可以向它输出一些字符. 对ASCI ...
- 对csv文件的操作
统计行数 wc -l /home/hadoop/workspace/ChemicalFactory/input/device101.csv 输出前两行数据 head -n 2 /home/hadoop ...
- Linux学习之CentOS(四)----Linux文件属性、所有者、群组、其他组及文件权限操作简要总结
Linux文件属性.所有者.群组.其他组及文件权限操作简要总结 首先介绍一个重要的知识点:文件属性控制权限 [root@www ~]# ls -al total 156 drwxr-x--- 4 ro ...
- linux文件测试操作
1.文件测试操作 返回 true 如果... -e 文件存在 -a 文件存在 这个选项的效果与-e 相同.但是它已经被弃用了,并且不鼓励使用 -f file 是一个 regular 文件(不是目录或者 ...
- Python笔记_第一篇_面向过程_第一部分_7.文件的操作(.txt)
在平时,我们不光要对程序内的代码进行输入和输出的操作,还要对程序外的文件进行和语言之间的交换.操作和运算.在基础部分,先讲解对于外部的.txt文件的操作. 第一部分 基本内容讲解 1. 什么是文件 ...
- python对文件的操作
一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的所有文件 ...
- Adobe AIR对本地文件(XML文件)的操作
引用:http://addiwang.blog.163.com/blog/static/118130772011221114230288/ Air的文件操做主要涉及两个类,FIle和FileStrea ...
- Delphi关于记录文件的操作
http://www.cnblogs.com/railgunman/archive/2010/08/16/1801004.html Delphi关于记录文件的操作 本例子几个变量的说明TFileR ...
- Java文件IO操作应该抛弃File拥抱Paths和Files
Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem; ...
随机推荐
- python里混淆矩阵 左下角为漏报,右上角为误报
1为黑样本,0为白样本: Counter({1: 105, 0: 95}) check counter!confusion_matrix:[[83 12(预测值为1,实际为0,误报)] [15(预测值 ...
- maven笔记(maven使用与安装,eclipse中maven的配置,maven项目的创建)
一.初识maven 1.maven是什么? 他是一个项目管理器,配置好pom配置文件后,maven会管理项目的依赖文件等,当项目用到外部jar包时,maven帮助我们去网上下载并打包发到Tomcat中 ...
- 开发mis系统用到的技术
1. b/s架构:就broser/server,浏览器/服务器的说法.服务器端要运行tomcat,提供链接数据库服务供java代码读写数据,这个可以在eclipse中配置运行.浏览器则解释jsp或ht ...
- Python 函数之递归
递归函数定义 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 我们来计算阶乘 n! = 1 x 2 x 3 x ... x n ,用函数 fact(n) 表示 f ...
- Erlang pool management -- Emysql pool optimize
在上一篇关于Emysql pool (http://www.cnblogs.com/--00/p/4281938.html)的分析的最后提到 现在的emysql_conn_mgr gen_server ...
- php system()
学习源头: https://blog.csdn.net/ltx06/article/details/53992905 system(“nohup ./test.py $s &”); 这个不会在 ...
- Xcode工具特性
1.注释 #pragma mark 注释说明#pragma mark - 分类/分组注释说明 2.自定义代码块. 3.多文本编辑框 View>>Assistant Editor
- Java基础--压缩和解压缩gz包
gz是Linux和OSX中常见的压缩文件格式,下面是用java压缩和解压缩gz包的例子 public class GZIPcompress { public static void FileCompr ...
- GPT 安装win10
BIOS EFI ACHI 安装win10 GPT 分区表 支持FAT,FAT32 gpt 理论支持非常多的分区,容量也支持非常大. MBR分区表 支持FAT,FAT32, NTFS 但是分区数量有限 ...
- 第十三章 Spring框架的设计理念与设计模式分析(待续)
Spring的骨骼架构 核心组件详解 Spring中AOP的特性详解 设计模式解析之代理模式 设计模式解析之策略模式