从键盘读入一行字符,把其中的字母字符依次放在磁盘文件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文件的操作例子的更多相关文章

  1. C++学习48 对ASCII文件的读写操作

    如果文件的每一个字节中均以ASCII代码形式存放数据,即一个字节存放一个字符,这个文件就是ASCII文件(或称字符文件).程序可以从ASCII文件中读入若干个字符,也可以向它输出一些字符. 对ASCI ...

  2. 对csv文件的操作

    统计行数 wc -l /home/hadoop/workspace/ChemicalFactory/input/device101.csv 输出前两行数据 head -n 2 /home/hadoop ...

  3. Linux学习之CentOS(四)----Linux文件属性、所有者、群组、其他组及文件权限操作简要总结

    Linux文件属性.所有者.群组.其他组及文件权限操作简要总结 首先介绍一个重要的知识点:文件属性控制权限 [root@www ~]# ls -al total 156 drwxr-x--- 4 ro ...

  4. linux文件测试操作

    1.文件测试操作 返回 true 如果... -e 文件存在 -a 文件存在 这个选项的效果与-e 相同.但是它已经被弃用了,并且不鼓励使用 -f file 是一个 regular 文件(不是目录或者 ...

  5. Python笔记_第一篇_面向过程_第一部分_7.文件的操作(.txt)

    在平时,我们不光要对程序内的代码进行输入和输出的操作,还要对程序外的文件进行和语言之间的交换.操作和运算.在基础部分,先讲解对于外部的.txt文件的操作. 第一部分 基本内容讲解 1.   什么是文件 ...

  6. python对文件的操作

    一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的所有文件 ...

  7. Adobe AIR对本地文件(XML文件)的操作

    引用:http://addiwang.blog.163.com/blog/static/118130772011221114230288/ Air的文件操做主要涉及两个类,FIle和FileStrea ...

  8. Delphi关于记录文件的操作

    http://www.cnblogs.com/railgunman/archive/2010/08/16/1801004.html Delphi关于记录文件的操作   本例子几个变量的说明TFileR ...

  9. Java文件IO操作应该抛弃File拥抱Paths和Files

    Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem; ...

随机推荐

  1. HDU 1711 kmp+离散化

    http://acm.hdu.edu.cn/showproblem.php?pid=1711 Number Sequence Time Limit: 10000/5000 MS (Java/Other ...

  2. android将drawable下的图片转换成bitmap

    将drawable下的图片转换成bitmap 1. Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.xx ...

  3. 如何将Emmet安装到到 Sublime text 3?第二部分该插件还能让我们自定义快捷键呼出某个浏览器以预览页面

    看清楚哦~~这是Sublime text 3不是2的版本,两者的安装还是有区别的,下面的方法是我感觉比较简单的,其他的要命令什么的感觉太复杂了,经测试是OK的. 先关闭Sublime text 3: ...

  4. MySQL 各种引擎

    数据库中的存储引擎其实是对使用了InnoDB.HEAP(也称为MEMORY).CSV.BLACKHOLE(黑洞引擎).ARCHIVE.PERFORMANCE_SCHEMA. Berkeley.Merg ...

  5. matrix-gui-2.0 将javascript文件夹改成js文件夹

    /******************************************************************************** * matrix-gui-2.0 将 ...

  6. C#进阶之路(六):表达式进行类的赋值

    好久没更新这个系列了,最近看.NET CORE源码的时候,发现他的依赖注入模块的很多地方用了表达式拼接实现的.比如如下代码 private Expression<Func<ServiceP ...

  7. npm 安装参数中的 --save-dev 是什么意思

    看到有些 node.js 的包安装的时候都加上 --save-dev 参数,不知道这参数是做什么的,加和不加有什么区别吗? $ npm install xxx --save-dev 当你为你的模块安装 ...

  8. Windbg内核调试之四: Dump文件分析

    Dump 文件分析很大程度上就是分析蓝屏产生的原因.这种系统级的错误算是Windows提示错误中比较严重的一种(更严重的还有启动黑屏等硬件或软件兼容性错误等等).说它是比较严重,是因为毕竟Window ...

  9. Gradle的快速入门

    1.基础知识: Gradle提供了:构建项目的框架.但是其中起作用的是Plugin. Gradle在默认情况下提供了很多常用的Plugin.例如:构建Java的Plugin.还有war.Ear等. G ...

  10. .NET Framework、C#、CLR和Visual Studo之间的版本关系

    .NET Framework.C#.CLR和Visual Studo之间的版本关系 参考 .NET Framework.C#.CLR和Visual Studo之间的版本关系