文件指针

C++文件操作详解(ifstream、ofstream、fstream)

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-29 04:44:17
C++ 文件操作详解( ifstream 、 ofstream 、 fstream ) C++ 通过以下几个类支持文件的输入输出: ofstream: 写操作(输出)的文件类 (由ostream引申而来) ifstream: 读操作(输入)的文件类(由istream引申而来) fstream: 可同时读写操作的文件类 (由iostream引申而来) 打开文件 (Open a file) 对这些类的一个对象所做的第一个操作通常就是将它和一个真正的文件联系起来,也就是说打开一个文件。被打开的文件在程序中由一个流对象(stream object)来表示 (这些类的一个实例) ,而对这个流对象所做的任何输入输出操作实际就是对该文件所做的操作。 要通过一个流对象打开一个文件,我们使用它的成员函数open(): void open (const char * filename, openmode mode); 这里filename 是一个字符串,代表要打开的文件名,mode 是以下标志符的一个组合: ios::in 为输入(读)而打开文件 ios::out 为输出(写)而打开文件 ios::ate 初始位置:文件尾 ios::app 所有输出附加在文件末尾 ios::trunc 如果文件已存在则先删除该文件 ios::binary 二进制方式 这些标识符可以被组合使用,中间以”或”操作符(|

A Tour to LLVM IR

百般思念 提交于 2019-12-28 17:12:28
https://zhuanlan.zhihu.com/p/66793637 https://zhuanlan.zhihu.com/p/66909226 内容概要 什么是LLVM IR?如何得到IR? LLVM编译的流程,IR文件之间的链接简介 C++ name mangling的用途,“extern C"作用的极简介绍 IR文件的布局 IR中函数定义的结构,什么是BB,什么是CFG IR是一个强类型语言,如何用工具检查IR的合法性 如何理解 Language reference 常见的terminator instruction介绍 如何利用工具得到函数的CFG 什么是SSA?SSA的好处和问题,以及如何解决这个问题 参考文献 what is tail reursion make clang compile to ll -cc1的含义 clang和clang++的区别 what is a linkage unit? LLVM LanguageRef extern "C"的作用 what is name mangling what is static single assignment? what is reaching definition? 1. 什么是LLVM IR? LLVM IR 是 LLVM Intermediate Representation,它是一种 low

Python3学习笔记23-StringIO和BytesIO

落花浮王杯 提交于 2019-12-27 18:44:48
StringIO 很多时候数据读取不一定是文件,也可以在内存中 StringIO顾名思义就是在内存中读写str 要把str写入StringIO,我们需要先创建一个StringIO,然后像文件一样写入即可: from io import StringIO f = StringIO() f.write('Hello') f.write(' ') f.write('Word') print(f.getvalue()) #getvalue()方法用于获得写入的str 要读取StringIO,可以用一个str初始化StringIO,然后,像读文件一样读取: f = StringIO('Hello!\nHi!\nGoodbye!') while True: s = f.readline()#每行读取 if s == '':#当读取到空 break#终止读取 print(s.strip())#strip()去掉首尾空格 BytesIO StringIO操作的只能是str,如果要操作二进制数据,就需要使用BytesIO。 BytesIO实现了在内存中读写bytes,我们创建一个BytesIO,然后写入一些bytes: from io import BytesIO f = BytesIO() f.write('中文'.encode('utf-8'))#写入的是经过utf-8编码的bytes

Python3 IO编程之StringIO和BytesIO

♀尐吖头ヾ 提交于 2019-12-27 18:44:08
  StringIO    很多时候,数据读写不一定是文件,也可以在内存中读写。   要把str写入StringIO,我们需要先创建一个StringIO,然后像文件一样写入即可 >>> from io import StringIO >>> f=StringIO() >>> f.write('hello') 5 >>> f.write(' ') 1 >>> f.write('world!') 6 >>> f <_io.StringIO object at 0x7f6bbc76e318> >>> f.getvalue() 'hello world!'   getvalue()方法用于获得写入后的str   要读取StringIO,可以用一个str初始化StringIO,然后像读文件一样读取 >>> f=StringIO('Hello!\nHi!\nGoodbye!') >>> while True: ... s=f.readline() ... if s=='': ... break ... print(s.strip()) ... Hello! Hi! Goodbye!   BytesIO   StringIO操作的只能是str,如果要操作二进制数据,就需要使用BytesIO。   BytesIO实现了在内存中读写bytes,我们创建一个BytesIO,然后写入一些bytes: >

C++输入输出流

ぃ、小莉子 提交于 2019-12-27 07:21:14
输入输出流 1. 用控制符输出格式,例: 1 #include <iostream> 2 #include <iomanip>//利用控制符输出必须包含iomanip头文件 3 using namespace std; 4 int main() 5 {int a; 6 cout<<"input a:"; 7 cin>>a; 8 cout<<"dec:"<<dec<<a<<endl; //以十进制输出 9 cout<<"hex:"<<hex<<a<<endl; //十六进制 10 cout<<"oct:"<<setbase(8)<<a<<endl; //八进制 11 char *pt="China"; 12 cout<<setw(10)<<pt<<endl; //宽度为10,China前补上5个空格 13 cout<<setfill('*')<<setw(10)<<pt<<endl; //China前补上5个* 14 double pi=22.0/7.0; 15 cout<<setiosflags(ios::scientific)<<setprecision(8);//科学记数法,8位小数 16 cout<<"pi="<<pi<<endl; //输出pi 17 cout<<"pi="<<setprecision(4)<<pi<<endl; //改为4位小数 18 cout<<"pi=

mysql基础一

房东的猫 提交于 2019-12-26 07:55:31
三大引擎:myisam(cms等)、innodb(商城等)、memory(临时存储在内存中) 一、数据类型 char:长度固定;最多255个字符;效率高,没有碎片,更新频繁的时候,方便数据文件指针的操作。 varchar:长度可变、灵活;最多65532( 65535-1-2)个字符,可变类型,一般保存字母、数字、特殊字符 tinytext:1字节,范围(-128~127) text:65535个字符 boolean:1或者0 int:4字节,数字,范围(-2147483648~2147483647) datetime:8字节,日期时间,格式:2014-09-18 08:42:30 bigint:8字节,范围(+-9.22*10的18次方) smallint:2字节,范围(-32768~32767) mediumint:3字节,范围(-8388608~8388607) 二、CRUD操作 ,增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete): 1.insert:增   “insert into” 增加 ,返回值为数字,没有操作是0。例如,insert into user(username,pwd)values("3131","12345678");在数据表末尾加入一行数据 2.DELETE:删 / truncate table '表名';  

VC++ Dump文件生成&分析

*爱你&永不变心* 提交于 2019-12-24 14:42:37
请看示例(图1): 很明显,在代码行108行有一个对空指针p的赋值操作,在IDE环境下运行,结果如下(图2): 提示p是nullptr。一位曾经工作于中科院的学者告诉我,程序运行过程中出现错误提示,90%都是错误指针(空指针、野指针)引起的,鉴于多年工作经验的总结,对于这一点我深信无疑。IDE环境下运行,我们很容易发现和解决类似这种错误,但是如果我们脱离IDE运行,一般都会提示0xC0000005错误提示对话框,这个时候要解决这种问题就有些茫然了,手足无措,不知如何下手了。要解决类似这种问题,我们需要借助应用程序异常调试信息记录文件CrashDump文件,那么我们如何来生成这样的文件呢?请看修改后的代码: void ExpTest5() { char *p = NULL; p[0] = 0; } void ExpTest4() { ExpTest5(); } void ExpTest3() { ExpTest4(); } void ExpTest2() { ExpTest3(); } void ExpTest1() { ExpTest2(); } #include <dbgHelp.h> #pragma comment(lib, "dbghelp.lib") void WINAPI WriteCrashDumpFile(_EXCEPTION_POINTERS * pExInfo,

文件处理

牧云@^-^@ 提交于 2019-12-24 11:23:14
Python-09 @(Python) 文件处理 一、什么是文件 文件是操作系统为用户或应用程序,提供的一个读写硬盘的虚拟单位,文件可以是文本文件、视频、音频、图片等形式 对文件的读写操作,其实就是对操作系统发起请求,然后由操作系统控制硬盘来读写 二、 为什么要有文件 计算机和人,有永久保存和使用数据的需求,文件可以永久保存在磁盘中,并且可被临时存储到内存 三、文件的基本操作 1. 打开文件 打开文件的语法: open(r'文件路径') r(rawstring ) :原生字符串,表示后面出现的都是原生字符,没有其他特殊意义,也可以使用 \ 单个转义 f=open(r'文件路径') ,将 open(r'文件路径') 赋值,此时是占用了应用程序的资源 2. 操作文件(读或写) data=f.read() 表示向操作系统发起打开文件请求,要求打开文件(文件操作会占用操作系统和应用程序的资源) 读写的操作会被操作系统转成具体的硬盘操作,将文件由硬盘读入内存 3. 关闭文件 f.close() 表示关闭文件,回收占用操作系统的资源,关闭的是 f 的值在操作系统的资源,本身的值还在应用程序的内存中 不要使用del删除变量的绑定关系,虽然能删除绑定关系,但是这个打开的文件,还会占用操作系统的资源,需要等待一定时间才能被回收,如果这样的文件过多,就会导致占用大量的资源 4. 总结

c语言中文件的使用方法

送分小仙女□ 提交于 2019-12-20 08:38:40
c语言中文件的使用方法 一.文件指针的定义 FILE * fp //注意FILE的大写 二.文件的打开 fp = fopen ( "(路径)文件名.文件格式后缀" , "文件的使用方法" ) //注意路径下为//而不是/ 三.文件的使用方法 1.“r” 模式: 1.1 打开文件进行只读操作,即只能从文件读取内容。 1.2 若欲操作的文件不存在,则打开失败。 1.3 成功打开文件时,文件指针位于文件开头。 1.4 打开文件后,不会清空文件内原有内容。 1.5 可从文件中任意位置读取内容。 2."w" 模式: 2.1 打开文件进行“只写”操作,即只能向文件写入内容。 2.2 若欲操作的文件不存在,则新建文件。 2.3 成功打开文件时,文件指针位于文件开头。 2.4 打开文件后,会清空文件内原有的内容。 2.5 可向文件中任意位置写入内容,且进行写入操作时,会覆盖原有位置的内容。 3."a" 模式: 3.1 打开文件进行“追加”操作,即只能向文件写入内容。 3.2 若欲操作的文件不存在,则新建文件。 3.3 成功打开文件时,文件指针位于文件结尾。 3.4 打开文件后,不会清空文件内原有内容。 3.5 只能向文件末尾追加(写)内容。 4."r+"模式: 4.1 打开文件进行“读写”操作,即既可读取,又可写入。 4.2 若欲操作的文件不存在,则打开失败。 4.3 成功打开文件时

【操作系统】总结四(文件管理)

偶尔善良 提交于 2019-12-19 02:15:12
文件管理 主要内容: 文件系统基础:包括文件概念、文件的逻辑结构(顺序文件,索引文件,索引顺序文件)、目录结构(文件控制块和索引结点,单级目录结构和两级目录结构,树形目录结构,图形目录结构)、文件共享和文件保护(访问类型,访问控制)。 文件系统实现 :包括文件系统层次结构、目录实现、文件实现。 磁盘组织与管理 :包括磁盘的结构、磁盘调度算法、磁盘的管理。 4.1 文件的概念和定义 文件(File)是操作系统中的一个重要概念。 在系统运行时,计算机以进程为基本单位进行资源的调度和分配;而在用户进行的输入、输出中,则以文件为基本单位 。大多数应用程序的输入都是通过文件来实现的,其输出也都保存在文件中,以便信息的长期存及将来的访问。当用户将文件用于应用程序的输入、输出时,还希望可以访问文件、修改文件和保存文件等,实现对文件的维护管理,这就需要系统提供一个文件管理系统,操作系统中的文件系统(File System)就是用于实现用户的这些管理要求。 从用户的角度看,文件系统是操作系统的重要部分之一。用户关心的是如何命名、分类和查找文件,如何保证文件数据的安全性以及对文件可以进行哪些操作等。而对其中的细节,如文件如何存储在辅存上、如何管理文件辅存区域等关心甚少。 文件系统提供了与二级存储相关的资源的抽象,让用户能在不了解文件的各种属性、文件存储介质的特征以及文件在存储介质上的具体位置等情况下