实训C++语言设计——文件和流

news/2024/7/8 4:58:30

熟悉流类库中常用的类及其成员函数的用法,学习到了标准的输入输出及其格式的控制,学习到了文件的应用方式,有二进制文件和文本文件. 

算法:无
方法:无
程序:
//Lab11_1.cpp
#include<fstream>
using namespace std;
#define D(a) T<<#a<<endl;a
ofstream T("output.out");
void main()
{  D(int i=53;)
  D(float f=4700113.141593;)
  char *s="Is there any more?";
 D(T.setf(ios::unitbuf);)
  D(T.setf(ios::showbase);)
  D(T.setf(ios::uppercase);)
  D(T.setf(ios::showpos);)
  D(T<<i<<endl;)
  D(T.setf(ios::hex,ios::basefield);)
  D(T<<i<<endl;)
  D(T.unsetf(ios::showbase);)
  D(T.setf(ios::oct,ios::basefield);)
  D(T<<i<<endl;)
  D(T.unsetf(ios::showbase);)
  D(T.setf(ios::dec,ios::basefield);)
  D(T.setf(ios::left,ios::adjustfield);)

  D(T.fill('0');)
  D(T<<"fill char:"<<T.fill()<<endl;)
  D(T.width(8);)
  T<<i<<endl;
 D(T.setf(ios::right,ios::adjustfield);)
  D(T.width(8);)
  T<<i<<endl;
 D(T.setf(ios::internal,ios::adjustfield);)
  D(T.width(8);)
  T<<i<<endl;
 D(T<<i<<endl;)            //Without width(10)

  D(T.unsetf(ios::showpos);)
  D(T.setf(ios::showpoint);)
  D(T<<"prec="<<T.precision()<<endl;)
  D(T.setf(ios::scientific,ios::floatfield);)
  D(T<<endl<<f<<endl;)
  D(T.setf(ios::fixed,ios::floatfield);)
  D(T<<f<<endl;)
  D(T.setf(0,ios::floatfield);)  //Automatic
  D(T<<f<<endl;)
  D(T.precision(16);)
  D(T<<"prec="<<T.precision()<<endl;)
  D(T<<endl<<f<<endl;)
  D(T.setf(ios::scientific,ios::floatfield);)
  D(T<<endl<<f<<endl;)
  D(T.setf(ios::fixed,ios::floatfield);)
  D(T<<f<<endl;)
  D(T.setf(0,ios::floatfield);)
  D(T<<f<<endl;)

  D(T.width(8);)
  T<<s<<endl;  
 D(T.width(36);)
  T<<s<<endl;  
 D(T.setf(ios::left,ios::adjustfield);)
  D(T.width(36);)
  T<<s<<endl;

 D(T.unsetf(ios::showpoint);)
  D(T.unsetf(ios::unitbuf);)
}
//Lab11_1.cpp
#include<iostream>
#include<string>
using namespace std;
#include <fstream>

int main()
{   char a1[32],a2[32];
 char str[80];
 char*p;  
 cout<<"建立文件"<<endl;
 cout<<"输入你的文件名(要加后缀)"<<endl;
 cin.getline(a1,32); 
 p=a1;
 cout<<"输入文件内容:"<<endl;
 cin.getline(str,80);

 ofstream File(p,ios::binary); 
 if(! File)
 {   cout<<"不能打开该文件!"<<endl;
  cout<<"退出程序!"<<endl;
  exit(1);}
 else
 {  File.write(str,80);
    File.close();
 }
 cout<<"/n输入你要打开的文件名(要加后缀)"<<endl;
 cin.getline(a2,32); 
 p=a2; 
 ifstream inFile(p,ios::binary); 
 if(! inFile)
 {   cout<<"/n不存在该文件"<<endl; 
  cout<<"退出程序!"<<endl;
  exit(1);
 }
 else
 {  string q;       
    inFile>>q;
    cout<<"文件"<<p<<"中的内容是:"<<q;
    File.close();
 }
 cout<<endl;
return 0;


http://www.niftyadmin.cn/n/3242409.html

相关文章

实训C++语言设计——异常处理

目的&#xff1a;正确理解c的异常处理机制 学习异常处理的定义及执行过程 内容&#xff1a;定义一个异常类CException &#xff0c;有成员函数Reason()&#xff0c;用来显示异常的类型&#xff0c;在子函数中触发异常&#xff0c;在主程序中处理异常&#xff0c;…

Visual Studio2010 获取时间戳c++

最近再弄时间戳&#xff0c;发现python的java的时间戳都有&#xff0c;但是唯独c的没有 网上的看了也不是真正的时间戳&#xff0c;后来研究了代码找到了系统时间戳的地方 通过调试不断跳到所需要的地方之后&#xff08;下图&#xff09;&#xff0c;找到了正在获取时间戳的函…

Android Camera2 —CameraManager API详解

一、CameraManager类概述 CameraManager是用于检测、表征和连接到 CameraDevices 的系统服务管理器。 CameraManager 是一个负责查询和建立相机连接的系统服务&#xff0c;它的功能不多&#xff0c;这里列出几个 CameraManager 的关键功能&#xff1a; 1&#xff09;、将相机…

为什么调试器会显示错误的函数

有时候在解决一些问题的时候需要使用到调试&#xff0c;这个场景很常见&#xff0c;我们在代码的某个地方设置一个断点&#xff0c;然后步进到一个函数内部单步调试&#xff0c;但是你会发现&#xff0c;调试器会显示你在另外一个函数中。这是咋回事儿&#xff1f;我们先来看看…

完美攻略心得之圣魔大战3(Castle Fantisia)艾伦希亚战记(艾伦西亚战记)包括重做版(即新艾伦希亚战记)

&#xff08;城堡幻想曲3&#xff0c;纠正大家个错误哦&#xff0c;不是圣魔大战3&#xff0c;圣魔大战是城堡幻想曲2&#xff0c;圣魔大战不是个系列,艾伦西亚战记艾伦希亚战记,一个游戏日文名&#xff1a;タイトル キャッスルファンタジア &#xff5e;エレンシア戦記&#x…

对话框管理器第一章:先热热身

我认为大家关于对话框管理器的很多困惑&#xff0c;来自于没有真正地理解它的底层工作原理。这其实也没那么糟。在接下来的几篇文章中&#xff0c;我将首先描述对话框是如何创建的&#xff0c;然后我会讲解对话框消息循环&#xff0c;最后&#xff0c;我会再介绍一些有关导航相…

.netframework游戏编程入门——模拟魔兽学院永远的羁绊

相信有很多和我一样摸索着编游戏的自学者,自学是辛苦的,一没明确的引导,二没正确的工具,我就谈一下自己的经验,也许可以让你少走一点弯路。3D 的先不谈,2D作为基础还是有必要研究,然后把地图模型一换(换成三维骨骼模型)——呵呵,好像没那么简单吧。 先在已…

城堡幻想曲圣魔大战3(Castle Fantisia)新艾伦希亚战记(即重做版) 新增剧情简介

人物表情更自然了&#xff0c;新增人物丽薇&#xff0c;添加了语音&#xff01;时间以周计算 &#xff08;城堡幻想曲3&#xff0c;纠正大家个错误哦&#xff0c;不是圣魔大战3&#xff0c;圣魔大战是城堡幻想曲2&#xff0c;圣魔大战不是个系列&#xff09; 我还纪录一些经典…