128.C++文件操作小结
打开后缀参数

#include <fstream>
#include <iostream>
using namespace std; //文本读写
//文件写入
void main1()
{
//写入到文件 in读o写
//创建一个输出流
ofstream out;
//输出到文件
out.open("C:\\123.txt");
out << "hello file" << endl;
out.close();
system("C:\\123.txt");
cin.get();
} //文件读取
void main2()
{
//创建一个输出流
ifstream in;
in.open("C:\\123.txt");
char str[]{ };
//in >> str;
//从文件读取
in.getline(str, );
in.close();
cout << str << endl;
cin.get();
system("C:\\123.txt");
} //文件打开方式,追加
void main3()
{
//写入到文件 in读o写
//创建一个输出流
ofstream out;
//输出到文件(追加模式)
out.open("C:\\123.txt",ios::app);
out << " hello world" << endl;
out.close();
system("C:\\123.txt");
cin.get();
} //二进制文件读写
struct info
{
char name[];
int id;
double price;
}; //把结构体的信息按二进制方式写入文件
void main4()
{
struct info infs[] = { {"xiaowang1",,},{ "xiaowang2",, },{ "xiaowang3",, } };
//二进制方式读
ofstream fout("bin.bin", ios::binary);
//内存写入到磁盘 (必须要转换成char *)
fout.write((char *)infs, sizeof(infs));
fout.close(); struct info infs2[];
//二进制方式写(必须要转换成char *)
ifstream fin("bin.bin",ios::binary);
fin.read((char*)infs2, sizeof(infs2));
fin.close();
for (auto i : infs2)
{
cout << i.id << i.name << i.price << endl;
}
system("pause");
} //把结构体的信息按文本方式写入到文件
void main5()
{
struct info infs[] = { { "xiaowang1",, },{ "xiaowang2",, },{ "xiaowang3",, } }; //文本文件读写
ofstream fout("1.txt", ios::out|ios::app); for (auto i : infs)
{
fout << i.name << i.price << i.id << endl;
} fout.close(); ifstream fin("1.txt");
for (int i = ; i < ; i++)
{
char str[]{ };
fin.getline(str, );
cout << str << endl;
}
fin.close();
system("pause");
} //文件指针移动到指定位置读seekg
void main6()
{
ofstream fout("hello.txt");
if (!fout)
{
cout << "操作失败";
} fout << "123456789abcdefghijklmnopqrstuvwxyz";
fout.close(); ifstream fin("hello.txt");
if (fin.fail())
{
cout << "操作失败";
}
//从开始往后移动9个位置开始读
fin.seekg(, ios::beg);
char ch;
while (fin.get(ch))
{
cout << ch;
}
fin.close();
system("pause");
} //追加方式文件指针移动到指定位置写(失效)
void main7()
{
char ch;
ifstream fin("hello.txt");
while (fin.get(ch))
{
cout << ch;
}
fin.close(); //以追加的方式的打开
ofstream fout("hello.txt",ios::app);
//从头开始往后移动五个位置(到第五个位置之后)
//如果是追加移动无效
fout.seekp(, ios::beg);
fout << "ceshiceshi";
fout.close();
system("hello.txt");
system("pause");
} //读写方式文件指针移动到指定位置写(seekp)
void main()
{
char ch;
ifstream fin("hello.txt");
while (fin.get(ch))
{
cout << ch;
}
fin.close(); //以读写的方式的打开(会造成重写)
ofstream fout("hello.txt", ios::in | ios::out);
//从头开始往后移动五个位置(到第五个位置之后)
//如果是追加移动无效
fout.seekp(, ios::beg);
fout << "ceshiceshi";
fout.close();
system("hello.txt");
system("pause");
}
128.C++文件操作小结的更多相关文章
- python中的文件操作小结2
''' #-----------文件修改---------- f=open("test_1",'r',encoding="utf-8") f2=open(&qu ...
- python中的文件操作小结1
#!/usr/local/bin/python3 # -*- coding:utf-8 -*- f=open("test_1",'r',encoding="utf-8&q ...
- python文件操作以及循环小结
Python中的文件使用建议使用 with open(filename, "r") as f: 的形式进行文件操作,如果忘记关闭文件指针的话,他会帮你自己关闭文件, 如果使用原来的 ...
- python学习第十八天 --文件操作
这一章节主要讲解文件操作及其文件读取,缓存,文件指针. 文件操作 (1)文件打开:open(filepath,filemode) filepath:要打开文件的路径 filemode:文件打开的方式 ...
- 初学Python——文件操作第二篇
前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...
- VC++文件操作之最全篇
一.剖析VC中的文件操作 各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分 ...
- Python 实现隐藏文件夹、文件操作
Python通过win32api 可以实现操作文件夹文件操作,获取属性,修改属性 1.获取属性 通过win32api.GetFileAttributes 方法可以获取属性值 import win32c ...
- 第32课 Qt中的文件操作
1. Qt的中IO操作 (1)Qt中IO操作的处理方式 ①Qt通过统一的接口简化了文件和外部设备的操作方式 ②Qt中的文件被看作一种特殊的外部设备 ③Qt中的文件操作与外部设备的操作相同 (2)IO操 ...
- Delphi文件操作函数
文件是同一种类型元素的有序集合,是内存与外设之间传输数据的渠道.文件的本质是一个数据流,所有的文件实际上是一串二进制序列.文件管理包括:1.文件操作.2.目录操作.3.驱动器操作.三部分. 1.常见文 ...
随机推荐
- windows下命令行复制
在CMD命令提示符窗口中点击鼠标右键,选择“标记”选项,然后按住鼠标左键不动,拖动鼠标标记想要复制的内容.标记完成以后请按键盘上的“回车”键
- Oracle日期的加减运算
无论是DATE还是timestamp都可以进行加减操作.可以对当前日期加年.月.日.时.分.秒,操作不同的时间类型,有三种方法: 1 使用内置函数numtodsinterval增加小时,分钟和秒2 加 ...
- vue+element-ui+slot-scope或原生实现可编辑表格(日历)
你们公司的产品是不是还在做一个可编辑表格功能? 1.前言 咱开发拿到需求大多数是去网上找成型的组件,找不到再看原生的方法能否实现,大牛除外哈,大牛一般喜欢封装组件框架. 2.思路 可编辑表格在后台管理 ...
- 11g Oracle Rac安装(基于linux6)可能出现的问题
11g Oracle Rac安装(基于linux6)可能出现的问题汇总: 7)使用"yum"命令执行节点的自动配置失败. 修改一下 /etc/resolv.conf,添加: nam ...
- 【Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) B】 Code For 1
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 把序列生成的过程看成一颗树 会发现最后形成的是一颗二叉树. 每个二叉树上的节点就对应了序列中的一个数字. 如果我们把每个节点都往下投 ...
- 从头认识java-18.6 synchronized在其它对象上同步和ThreadLocal来消除共享对象的同步问题
这一章节我们来介绍在其它对象上同步与ThreadLocal. 前一章节我们使用了 1.synchronized在其它对象上同步 class ThreadA implements Runnable { ...
- hibernate ID生成策略配置
1.Student.hbm.xml配置 <hibernate-mapping package="com.wxh.hibernate.model"> <class ...
- Linux经常使用命令(九) - cat
cat命令的用途是连接文件或标准输入并打印.这个命令经常使用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. 1. 命令格式: cat [选项] 文 ...
- ubuntu,jdk安装成功后,点击eclipse,提示信息A Java RunTime Environment (JRE) or Java Development Kit (JDK)
A Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Ecl ...
- POJ 2251 Dungeon Master【BFS】
题意:给出一个三维坐标的牢,给出起点st,给出终点en,问能够在多少秒内逃出. 学习的第一题三维的广搜@_@ 过程和二维的一样,只是搜索方向可以有6个方向(x,y,z的正半轴,负半轴) 另外这一题的输 ...