当前位置:文档之家› fstream将类写入文件

fstream将类写入文件

fstream将类写入文件
fstream将类写入文件

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

C++文件操作详解(ifstream 、ofstream 、fstream ) C++通过以下几个类支持文件的输入输岀: ofstream: 写操作(输岀)的文件类 ifstream: 读操作(输入)的文件类 fstream: 可同时读写操作的文件类 打开 文件(Open a file ) 对这些类的一个对象所做的第一个操作通常就是将它和一个真正的文件联系起来, 也就是说打开 一个文件。被打开的文件在程序中由一个流对象 (stream object )来表示(这些类的一个实例), 而对这个流对象所做的任何输入输岀操作实际就是对该文件所做的操作。 要通过一个流对象打开一个文件,我们使用它的成员函数 open (): void ope n (const char * file name, ope nm ode mode ); 这里file name 是一个字符串,代表要打开的文件名, mode 是以下标志符的一个组合: ios::i n 为输入(读)而打开文件 ios::out 为输岀(写)而打开文件 ios::ate 初始位置:文件尾 ios::app 所有输岀附加在文件末尾 ios::tru nc 如果文件已存在则先删除该文件 ios::b inary 二进制方式 这些标识符可以被组合使用,中间以 ”或”操作符(|)间隔。例如,如果我们想要以二进制方式打 开文件"example.bin" 来写入一些数据,我们可以通过以下方式调用成员函数 open ()来实现: ofstream file; file.ope n ("example.b in ”,ios::out | ios::app | ios::b in ary ); ofstream, ifstream 和fstream 所有这些类的成员函数 ope n 都包含了一个默认打开文件的方 式,这三个类的默认方式各不相同: 类 参数的默认方式 ofstream i os::out | ios::trunc ifstream i os::in fstream ios::i n | ios::out 只有当函数被调用时没有声明方式参数的情况下, 默认值才会被采用。 如果函数被调用时声明了 任何参数,默认值将被完全改写,而不会与调用参数组合。 由于对类ofstream, ifstream 和fstream 的对象所进行的第一个操作通常都是打开文件,这 些类都有一个构造函数可以直接调用 open 函数,并拥有同样的参数。这样,我们就可以通过以 下方式进行与上面同样的定义对象和打开文件的操作: (由ostream 引申而来) (由istream 引申而来) (由iostream 引申而来)

汇编中文件的读写

汇编语言实验报告 (七) 班级:01540802班 姓名:南征 学号: 20080705 信息与电子学院

实验七文件的读写 一、实验目的 理解文件标记的概念,掌握利用文件标记读写文件的方法,学习使用文件指针读取文件。 二、实验要点 磁盘文件的读写有两种方法,一种称为文件控制块;另一种方法称为文件标记,前者在读写文件时首先要设定文件控制块,知名文件所在的当前磁盘的驱动器、文件名,同时还要制定所读写的文件所处的当前块号、当前记录号、记录长度等参量,此外还需要设置磁盘传输区。在读磁盘数据文件时,应先将磁盘上有关数据读入磁盘传输区,然后再传送至目的的内存区。在写磁盘数据文件时,要写入磁盘文件的数据也必须先送入磁盘传输区,然后再执行写操作。此种方法的缺点是不支持树形目录结构。目前常用的方法是利用文件标记读写文件,无论用什么方法读写文件,都要解决以下几个问题: A)用户程序要告诉操作系统将要存取那个文件。 B)无论是从磁盘独处的数据,还是要写入磁盘的数据都必须存放在一个制定的内 存缓冲区中,这个内存缓冲区叫数据传输区(DTA)。 C)在读一个磁盘文件之前,要先打开文件,然后才能将文件内容读入内存。而在 读写一个文件之前,要先建立一个新文件名,再将内存中的内容写入磁盘。 D)在存取文件之后,特别是在写入文件之后,务必将此文件关闭。 利用文件标记读写文件的主要特点是: 通过建立文件、打开文件,将磁盘路径名、文件名转换为文件标记或件号,在以后读写文件的操作中均要与文件标记打交道。在一个系统中,可同时打开多个文件,并配置相应的文件标记。在利用文件标记读写磁盘文件是要掌握以下几个要点: 1)使用建立文件、打开文件系统功能之前,都必须将DS:DX指向驱动器名、路径 名、文件名和以数值零为结尾的ASCIIZ字符串的首地址。 2)对于一个新文件要用3CH系统功能调用,建立文件。(如果不是新文件,此步 骤可略) 3)已存在的文件则利用3DH系统功能调用,打开此文件。 4)如果文件建立、打开成功,则CF=0,并且在AX寄存器中返回文件标记。 5)在建立、打开文件成功之后,即可对文件进行读、写操作。如果要对文件进行 读操作,则在打开文件之后,用3FH系统功能调用将文件读入数据缓冲区,调 用前的入口参数是:文件标记存入BX,读入文件的字节数放入CX,数据缓冲 区的起始地址存入DS:DX。调用完毕,AX返回实际读入的字节数。 6)读入数据缓冲区的文件,可利用40H系统功能调用将文件写入指定的磁盘。调 用入口参数是:文件标记存入BX,要写入的字节数放入CX,DS:DX指向要写入 数据缓冲区的首地址。调用结束后AX返回实际写入的字节数。如果AX

C FSTREAM文件操作详细说明

fstream文件操作详细说明 目录 一、打开文件 (2) 二、关闭文件 (3) 三、读写文件 (3) 1、文本文件的读写 (3) 2、二进制文件的读写 (4) 四、检测EOF (5) 五、文件定位 (5)

fstream文件操作详细说明 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器(<<) 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout<<"Write Stdout"<<''\n'';就表示把字符串"Write Stdout"和换行字符(''\n'')输出到标准输出流。 2、析取器(>>) 从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin>>x;就表示从标准输入流中读取一个指定类型(即变量x的类型)的数据。 在C++中,对文件的操作是通过stream的子类fstream(file stream)来实现的,所以,要用这种方式操作文件,就必须加入头文件fstream.h。 一、打开文件 在fstream类中,有一个成员函数open(),就是用来打开文件的,其原型是: void open(const char*filename,int mode,int access); 参数说明: filename:要打开的文件名 mode:要打开文件的方式 access:打开文件的属性 打开文件的方式在类ios(是所有流式I/O类的基类)中定义,常用的值如下: ios::app:以追加的方式打开文件 ios::ate:文件打开后定位到文件尾,ios:app就包含有此属性 ios::binary:以二进制方式打开文件,缺省的方式是文本方式。两种方式的区别见前文ios::in:文件以输入方式打开 ios::out:文件以输出方式打开 ios::nocreate:不建立文件,所以文件不存在时打开失败 ios::noreplace:不覆盖文件,所以打开文件时如果文件存在失败 ios::trunc:如果文件存在,把文件长度设为0 可以用“或”把以上属性连接起来,如ios::out|ios::binary 打开文件的属性取值是: 0:普通文件,打开访问 1:只读文件 2:隐含文件 4:系统文件 可以用“或”或者“+”把以上属性连接起来,如:1|2就是以只读和隐含属性打开文件。 例如:以二进制输入方式打开文件c:\config.sys

文件操作

一、读字符函数fgetc fgetc函数的功能是从指定的文件中读一个字符,函数调用的形式为:字符变量=fgetc(文件指针);例如:ch=fgetc(fp);其意义是从打开的文件fp中读取一个字符并送入ch中。 对于fgetc函数的使用有以下几点说明: 1. 在fgetc函数调用中,读取的文件必须是以读或读写方式打开的。 2. 读取字符的结果也可以不向字符变量赋值,例如:fgetc(fp);但是读出的字符不能保存。 3. 在文件内部有一个位置指针。用来指向文件的当前读写字节。在文件打开时,该指针总是指向文件的第一个字节。使用fgetc 函数后,该位置指针将向后移动一个字节。因此可连续多次使用fgetc函数,读取多个字符。应注重文件指针和文件内部的位置指针不是一回事。文件指针是指向整个文件的,须在程序中定义说明,只要不重新赋值,文件指针的值是不变的。文件内部的位置指针用以指示文件内部的当前读写位置,每读写一次,该指针均向后移动,它不需在程序中定义说明,而是由系统自动设置的。 [例10.1]读入文件e10-1.c,在屏幕上输出。 #include main() { FILE *fp; char ch; if((fp=fopen("e10_1.c","rt"))==NULL) { printf("Cannot open file strike any key exit!"); getch(); exit(1); } ch=fgetc(fp); while (ch!=EOF) { putchar(ch); ch=fgetc(fp); } fclose(fp); } 本例程序的功能是从文件中逐个读取字符,在屏幕上显示。程序定义了文件指针fp,以读文本文件方式打开文件“e10_1.c”,并使fp指向该文件。如打开文件出错,给出提示并退出程序。程序第12行先读出一个字符,然后进入循环,只要读出的字符不是文件结束标志(每个文件末有一结束标志EOF)就把该字符显示在屏幕上,再读入下一字符。每读一次,文件内部的位置指针向后移动一个字符,文件结束时,该指针指向EOF。执行本程序将显

fstream_h

fstream.h #if _MSC_VER > 1000 #pragma once #endif #ifdef __cplusplus #ifndef _INC_FSTREAM #define _INC_FSTREAM #if !defined(_WIN32) && !defined(_MAC) #error ERROR: Only Mac or Win32 targets supported! #endif #ifdef _MSC_VER // Currently, all MS C compilers for Win32 platforms default to 8 byte alignment. #pragma pack(push,8) #include #endif // _MSC_VER /* Define _CRTIMP */ #ifndef _CRTIMP #ifdef _DLL #define _CRTIMP __declspec(dllimport) #else /* ndef _DLL */ #define _CRTIMP #endif /* _DLL */ #endif /* _CRTIMP */ #include #ifdef _MSC_VER // C4514: "unreferenced inline function has been removed" #pragma warning(disable:4514) // disable C4514 warning // #pragma warning(default:4514) // use this to reenable, if desired #endif // _MSC_VER typedef int filedesc; class _CRTIMP filebuf : public streambuf { public: static const int openprot; // default share/prot mode for open // optional share values for 3rd argument (prot) of open or constructor static const int sh_none; // exclusive mode no sharing static const int sh_read; // allow read sharing static const int sh_write; // allow write sharing // use (sh_read | sh_write) to allow both read and write sharing options for setmode member function static const int binary; static const int text; filebuf(); filebuf(filedesc);

fstream用法

ofstream/ifstream 文本/二进制方式读入/写出数据方法 文件I/O 在C++中比烤蛋糕简单多了。在这篇文章里,我会详细解释ASCII和二进制文件的输入输出的每个细节,值得注意的是,所有这些都是用C++完成的。 一、ASCII 输出 为了使用下面的方法, 你必须包含头文件(译者注:在标准C++中,已经使用取代< fstream.h>,所有的C++标准头文件都是无后缀的。)。这是的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上, 已经被包含了, 所以你不必包含所有这两个文件, 如果你想显式包含他们,那随便你。我们从文件操作类的设计开始, 我会讲解如何进行ASCII I/O 操作。如果你猜是"fstream," 恭喜你答对了!但这篇文章介绍的方法,我们分别使用"ifstream"?和"ofstream" 来作输入输出。 如果你用过标准控制台流"cin"?和"cout," 那现在的事情对你来说很简单。我们现在开始讲输出部分,首先声明一个类对象。ofstream fout; 这就可以了,不过你要打开一个文件的话, 必须像这样调用ofstream::open()。 fout.open("output.txt"); 你也可以把文件名作为构造参数来打开一个文件. ofstream fout("output.txt"); 这是我们使用的方法, 因为这样创建和打开一个文件看起来更简单. 顺便说一句, 如果你要打开的文件不存在,它会为你创建一个, 所以不用担心文件创建的问题. 现在就输出到文件,看起来和"cout"的操作很像。对不了解控制台输出"cout"的人, 这里有个例子。 int num = 150; char name[] = "John Doe"; fout << "Here is a number: " << num << "\n"; fout << "Now here is a string: " << name << "\n"; 现在保存文件,你必须关闭文件,或者回写文件缓冲. 文件关闭之后就不能再操作了, 所以只有在你不再操作这个文件的时候才调用它,它会自动保存文件。回写缓冲区会在保持文件打开的情况下保存文件, 所以只要有必要就使用它。回写看起来像另一次输出, 然后调用方法关闭。像这样:

C++中Txt文件读取和写入

C++中Txt文件读取和写入 标签:c++nullstringios文本编辑file 2012-10-07 16:58 45182人阅读评论(3) 收藏举报 分类: C/C++基础(75) C++中Txt文件读取和写入 一、ASCII 输出 为了使用下面的方法, 你必须包含头文件(译者注:在标准C++中,已经使用 取代< fstream.h>,所有的C++标准头文件都是无后缀的。)。这是的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上, 已经被包含了, 所以你不必包含所有这两个文件, 如果你想显式包含他们,那随便你。我们从文件操作类的设计开始, 我会讲解如何进行ASCII I/O操作。如果你猜是"fstream," 恭喜你答对了!但这篇文章介绍的方法,我们分别使用"ifstream"?和"ofstream" 来作输入输出。 如果你用过标准控制台流"cin"?和"cout," 那现在的事情对你来说很简单。我们现在开始讲输出部分,首先声明一个类对象。 ofstream fout; 这就可以了,不过你要打开一个文件的话, 必须像这样调用ofstream::open()。 fout.open("output.txt"); 你也可以把文件名作为构造参数来打开一个文件. ofstream fout("output.txt"); 这是我们使用的方法, 因为这样创建和打开一个文件看起来更简单. 顺便说一句, 如果你要打开的文件不存在,它会为你创建一个, 所以不用担心文件创建的问题. 现在就输出到文件,看起来和"cout"的操作很像。对不了解控制台输出"cout"的人, 这里有个例子。 int num = 150; char name[] = "John Doe"; fout << "Here is a number: " << num << "/n"; fout << "Now here is a string: " << name << "/n"; 现在保存文件,你必须关闭文件,或者回写文件缓冲. 文件关闭之后就不能再操作了, 所以只有在你不再操作这个文件的时候才调用它,它会自动保存文件。回写缓冲区会在保持文件打开的情况下保存文件, 所以只要有必要就使用它。 回写看起来像另一次输出, 然后调用方法关闭。像这样:

ofstream的使用方法

ofstream的使用方法 ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器(<<) 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout<<"Write Stdout"<<’\n’;就表示把字符串"Write Stdout"和换行字符(’\n’)输出到标准输出流。 2、析取器(>>) 从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin>>x;就表示从标准输入流中读取一个指定类型(即变量x的类型)的数据。 在C++中,对文件的操作是通过stream的子类fstream(file stream)来实现的,所以,要用这种方式操作文件,就必须加入头文件fstream.h。下面就把此类的文件操作过程一一道来。 一、打开文件 在fstream类中,有一个成员函数open(),就是用来打开文件的,其原型是: void open(const char* filename,int mode,int access); 参数: filename:要打开的文件名 mode:要打开文件的方式 access:打开文件的属性 打开文件的方式在类ios(是所有流式I/O类的基类)中定义,常用的值如下: ios::app:以追加的方式打开文件 ios::ate:文件打开后定位到文件尾,ios:app就包含有此属性 ios::binary:以二进制方式打开文件,缺省的方式是文本方式。两种方式的区别见前文ios::in:文件以输入方式打开(文件数据输入到内存) ios::out:文件以输出方式打开(内存数据输出到文件) ios::nocreate:不建立文件,所以文件不存在时打开失败 ios::noreplace:不覆盖文件,所以打开文件时如果文件存在失败 ios::trunc:如果文件存在,把文件长度设为0 可以用“或”把以上属性连接起来,如ios::out|ios::binary 打开文件的属性取值是: 0:普通文件,打开访问 1:只读文件 2:隐含文件 4:系统文件 可以用“或”或者“+”把以上属性连接起来,如3或1|2就是以只读和隐含属性打开文件。 例如:以二进制输入方式打开文件c:\config.sys fstream file1; file1.open("c:\\config.sys",ios::binary|ios::in,0); 如果open函数只有文件名一个参数,则是以读/写普通文件打开,即: file1.open("c:\\config.sys"); <=> file1.open("c:\\config.sys",ios::in|ios::out,0); 另外,fstream还有和open()一样的构造函数,对于上例,在定义的时侯就可以打开文件了:

PROE不能打开的解决方法

转)关于proe4.0启动画面闪动就消失后无法启动的问题 =================Guopion&东风不破============ 我是在打开时只出现启动图标,然后就消失没有反应,多次安装,安转到不同的盘符都不行, 之后在网上搜索。看到了 我采用:启动Pro/ENGINEER Wildfire 4.0. 之前删除缓冲区。 打开C:\Documents and Settings\Administrator(或者你登陆计算机的名字)\Application Data\PTC\ProENGINEER\Wildfire\.wf, 删除 .wf 文件夹 ============================================ 译文如下,供参考: 问题描述: proe wf4.0启动画面显示后消失而无法启动 解决方法: 这个问题,一半以上是许可证书没有安装好的原因,此时一般会有一个关于许可文件出错的对话框,看到这个,只要重新按照说明,装一下许可证书就可以了,通常就能解决。 如果只出现启动图标,然后就消失没有反应,这个原因通常是机器上安装了多个版本,不同 版本共用了缓冲区的缘故 解决的方法有2种: 第一种方法:启动Pro/ENGINEER Wildfire 4.0. 之前删除缓冲区。 打开C:\Documents and Settings\Administrator(或者你登陆计算机的名字)\Application Data\PTC\ProENGINEER\Wildfire\.wf, 删除 .wf 文件夹,如果你之前设置过系统运行环境PTC_WF_ROOT, 请删除PTC_WF_ROOT目录下的所有文件和文件夹第二种方法:在Pro/ENGINEER Wildfire 4.0启动命令中增加系统运行环境。 用记事本打开 Pro/ENGINEER4.0 启动文件 proe_en.psf (在安装目录\bin 文件内),增加一行:"ENV=PTC_WF_ROOT=D:\workspace\windchill\Forwf4".该值 D:\workspace\windchill\Forwf4 是设置写入缓冲文件的目的文件夹 转贴另一位网友的跟贴: 我之前有安裝了2.0的版本,後移除了裝4.0結果無法顯示,試過很多方法都無效結果於用方法一+/bin/poe.exe右鍵管理者執行就可以了 还有一位老兄没有安装多个版本,但是也有遇到同样现象,但参照方法2解决: 用的是第2种办法. 我的改动有些和楼主说的有点不一样. 用记事本打开 Pro/ENGINEER4.0 启动文件 proe1.psf (在安装目录\bin 文件内),增加一 行: "ENV=PTC_WF_ROOT=XXXXXXX" (XXXXXXX为你的PROE的安装根目录,无需给出楼主说 的那么长的路径 W; 当然,完全按楼主给的路径也可以,但你会发现你的D盘下多了一个workspace文件夹). 经过上述操作,即ok. 以上内容供大家参考,希望能帮助到某些兄弟!有其他解决方法的兄弟也请在后面跟贴呀谢 谢 方法三 PTC官方:启动Pro/E时看到开始屏幕,然后开始屏幕消失,但程序并未运行。怎么办?我启动Pro/ENGINEER 时看到开始屏幕,然后开始屏幕消失,但程序并未运行。怎么办?

ofstream和ifstream详细用法

ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间? 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器(<<) 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout<<"Write Stdout"<<'\n'?就表示把字符串"Write Stdout"和换行字符('\n')输出到标准输出流。 2、析取器(>>) 从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin>>x?就表示从标准输入流中读取一个指定类型(即变量x的类型)的数据。 在C++中,对文件的操作是通过stream的子类fstream(file stream)来实现的,所以,要用这种方式操作文件,就必须加入头文件fstream.h。下面就把此类的文件操作过程一一道来。 一、打开文件 在fstream类中,有一个成员函数open(),就是用来打开文件的,其原型是: void open(const char* filename,int mode,int access)? 参数: filename: 要打开的文件名 mode: 要打开文件的方式 access: 打开文件的属性 打开文件的方式在类ios(是所有流式I/O类的基类)中定义,常用的值如下: ios::app: 以追加的方式打开文件 ios::ate: 文件打开后定位到文件尾,ios:app就包含有此属性 ios::binary: 以二进制方式打开文件,缺省的方式是文本方式。两种方式的区别见前文 ios::in: 文件以输入方式打开(文件数据输入到内存) ios::out: 文件以输出方式打开(内存数据输出到文件) ios::nocreate: 不建立文件,所以文件不存在时打开失败 ios::noreplace:不覆盖文件,所以打开文件时如果文件存在失败 ios::trunc: 如果文件存在,把文件长度设为0 可以用“或”把以上属性连接起来,如ios::out|ios::binary 打开文件的属性取值是: 0:普通文件,打开访问 1:只读文件 2:隐含文件 4:系统文件 可以用“或”或者“+”把以上属性连接起来,如3或1|2就是以只读和隐含属性打开文件。 例如:以二进制输入方式打开文件c:\config.sys fstream file1? file1.open("c:\\config.sys",ios::binary|ios::in,0)?

文件或目录损坏且无法读取的解决办法

文件或目录损坏且无法读取的解决办法大集合 无法打开H盘,文件或目录损坏且无法读取 不管是移动硬盘还是优盘,包括本地电脑上的硬盘分区,双击打开时,提示:“无法打开H盘,文件或目录损坏且无法读取,....”。有的分区格式变为RAW。 数据丢失原因分析: 出现这种错误提示,是由于各种原因导致的磁盘文件目录(FAT,MFT)出错造成。主要发生在优盘、MP3、移动硬盘等移动设备上,其中大容量(160G以上)NTFS分区格式的外置移动硬盘发生几率最高最多。产生的原因很多,一般有下面几种原因: 1、没有正常插拔移动设备,系统没有完成完整的读写操作,致使文件目录信息错乱和不完整。比如我们复制一个文件到移动设备,关机重启、拔取后,再次打开使用或到别的电脑上使用时出现症状。 2、选用了劣质产品,包括劣质电源、主板、数据线、特别是劣质外置硬盘盒。产品的电源、主控电路不稳定,致使磁盘寻址出错,写信息错乱。 3、使用了PQ、PM等磁盘分区调整工具。 4、病毒、硬盘硬件本身故障、工作期间突然停电。 恢复效果质量 如果是大移动硬盘并且是NTFS分区格式的,恢复质量十分理想,基本都能成功恢复文件和目录结构。 如果是FAT或FAT32格式,根据损坏程度不同,恢复质量效果比NTFS格式结构的分区稍差一些,所以日常使用建议使用NTFS格式分区,其数据安全性更高一些。 数据恢复准备: 不知从谁开始的,网上有人告诉你先将分区格式化一遍,然后再用一些数据恢复软件恢复数据,大哥!大哥!!大哥!!!,你千万不要这么做,格式化后,特别是FAT格式分区,恢复出来的数据其目录结构是不完整的,特别是经常编辑的最需要的文件,因为文件碎片比较多,恢复软件失去FAT表的对比分析,恢复出来的文件大多打不开。 下面操作前建议先做镜像备份! 你想走捷径的话,可以先碰一下运气,可以先CHKDSK 一下试试。CHKDSK,Windows操作系统自带的磁盘检查修复命令。 先看一下你出错设备的盘符,然后点取--开始--运行,在运行对话框中输入CHKDSK H: /F(注意,H是你要检查修复的盘符回车,冒号后面要空一格,别跟着就写"/F"。如果直接输入CHKDSK,就检查当前磁盘的使用情况。)。之后系统会开始检查磁盘分区。如果系统能够发现问题并且在修复能力范围之内的话,Windows自动修复出错的分区。如果没有反映,不要拔掉设备,重新启动电脑试试,故障依旧的话,说明你中了高级奖。

C++中文件流(fstream)的使用方法及示例

【转载】C++中文件流(fstream)的使用方法及示例 (2011-08-22 16:00:14)转载▼ 分类:编程拾萃 标签:杂 谈 C++文件流: fstream // 文件流 ifstream // 输入文件流 ofstream // 输出文件流 头文件: #include //创建一个文本文件并写入信息 //同向屏幕上输出信息一样将信息输出至文件 #include #include void main() { ofstream ofs("C:\\example.txt"); //打开文件用于写,若文件不存在就创建它 if (!ofs) return; //打开文件失败则结束运行 f1 << setw(20) << "Name: " << "Beethoven" << endl; //使用插入运算符写文件内容

f1 << setw(20) << "song: " << "Moonlight Sonata" << endl; f1.close(); //关闭文件} 文件操作: 打开文件 文件名 注意路径名中的斜杠要双写,如: "D:\\MyFiles\\ReadMe.txt" 文件打开方式选项: ios::in = 0x01, //供读,文件不存在则创建(ifstream默认的打开方式) ios::out = 0x02, //供写,文件不存在则创建,若文件已存在则清空原内容(ofstream默认的打开方式) ios::ate = 0x04, //文件打开时,指针在文件最后。可改变指针的位置,常和in、out联合使用 ios::app = 0x08, //供写,文件不存在则创建,若文件已存在则在原文件内容后写入新的内容,指针位置总在最后 ios::trunc = 0x10, // 在读写前先将文件长度截断为0(默认) ios::nocreate = 0x20, //文件不存在时产生错误,常和in或app

U盘文件或目录损坏且无法读取完美解决方案

U盘文件或目录损坏且无法读取完美解决方案.txt今天心情不好。我只有四句话想说。包括这句和前面的两句。我的话说完了对付凶恶的人,就要比他更凶恶;对付卑鄙的人,就要比他更卑鄙没有情人味,哪来人情味拿什么整死你,我的爱人。收银员说:没零钱了,找你两个塑料袋吧!你可以尝试在运行->“cmd”后回车->输入“chkdsk 移动硬盘所在盘符:/R”回车,按提示操作即可。 出现这种错误提示,是由于各种原因导致的磁盘文件目录(FAT,MFT)出错造成。主要发生在优盘、MP3、移动硬盘等移动设备上,其中大容量(160G以上)NTFS分区格式的外置移动硬盘发生几率最高最多。产生的原因很多,一般有下面几种原因: 1、没有正常插拔移动设备,系统没有完成完整的读写操作,致使文件目录信息错乱和不完整。比如我们复制一个文件到移动设备,关机重启、拔取后,再次打开使用或到别的电脑上使用时出现症状。 2、选用了劣质产品,包括劣质电源、主板、数据线、特别是劣质外置硬盘盒。产品的电源、主控电路不稳定,致使磁盘寻址出错,写信息错乱。 3、使用了PQ、PM等磁盘分区调整工具。 4、病毒、硬盘硬件本身故障、工作期间突然停电。 恢复效果质量 如果是大移动硬盘并且是NTFS分区格式的,恢复质量十分理想,基本都能成功恢复文件和目录结构。 如果是FAT或FAT32格式,根据损坏程度不同,恢复质量效果比NTFS格式结构的分区稍差一些,所以日常使用建议使用NTFS格式分区,其数 据安全性更高一些。 附 chkdsk 参数说明: U盘文件或目录损坏且无法读取完美解决方案 CHKDSK [volume[[path]filename]]] [/F] [/V] [/X] [/C] [/L[:size]] volume 指定驱动器(后面跟一个冒号)、装入点或卷名。 filename? 仅用于 FAT/FAT32: 指定要检查是否有碎片的文件 /F 修复磁盘上的错误。 /V 在 FAT/FAT32 上: 显示磁盘上每个文件的完整路径和名称。 在 NTFS 上: 如果有清除消息,将其显示。 /R 查找不正确的扇区并恢复可读信息(隐含 /F)。 /L:size 仅用于 NTFS:? 将日志文件大小改成指定的 KB 数。如果没有指定大小,则显示当前的大小。 /X 如果必要,强制卷先卸下。卷的所有打开的句柄就会无效(隐含 /F)

C文件操作详解ifstreamofstreamfstream

C++文件操作详解(ifstream、ofstream、fstream) C++ 通过以下几个类支持文件的输入输出: ?ofstream: 写操作(输出)的文件类(由ostream引申而来) ?ifstream: 读操作(输入)的文件类(由istream引申而来) ?fstream: 可同时读写操作的文件类(由iostream引申而来) 打开文件(Open a file) 对这些类的一个对象所做的第一个操作通常就是将它和一个真正的文件联系起来,也就是说打开一个文件。被打开的文件在程序中由一个流对象(stream object)来表示(这些类的一个实例) ,而对这个流对象所做的任何输入输出操作实际就是对该文件所做的操作。 要通过一个流对象打开一个文件,我们使用它的成员函数open(): void open (const char * , openmode mode); 这里是一个字符串,代表要打开的文件名,mode 是以下标志符的一个组合: 这些标识符可以被组合使用,中间以”或”操作符(|)间隔。例如,如果我们想要以二进制方式打开文件"example.bin" 来写入一些数据,我们可以通过以下方式调用成员函数open()来实现: ofstream file; ("example.bin", ios::out | ios::app | ios::binary); ofstream, ifstream 和fstream所有这些类的成员函数open 都包含了一个默认打开文件的方式,这三个类的默认方式各不相同: 只有当函数被调用时没有声明方式参数的情况下,默认值才会被采用。如果函数被调用时声明了任何参数,默认值将被完全改写,而不会与调用参数组合。 由于对类ofstream, ifstream 和fstream 的对象所进行的第一个操作通常都是打开文件,这些类都有一个构造函数可以直接调用open 函数,并拥有同样的参数。这样,我们就可以通过以下方式进行与上面同样的定义对象和打开文件的操作:

CS0016 未能写入输出文件-拒绝访问的解决方法

CS0016: 未能写入输出文件 “c:\WINDOWS\https://www.doczj.com/doc/5513436967.html,\Framework\.。。”-- “拒绝访问 文章发布:2010-8-7 11:21:00 来源:转载编辑:佚名 编译器错误信息: CS0016: 未能写入输出文件“c:\Windows\https://www.doczj.com/doc/5513436967.html,\Framework……”--“ 2009-06-22 08:33 编译错误 说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误消息: CS0016: 未能写入输出文件“c:\Windows\https://www.doczj.com/doc/5513436967.html,\Fra mework\v2.0.50727\Temporary https://www.doczj.com/doc/5513436967.html, Files\yaming\88832561\f6ecaa7\A pp_global.asax.noqfk5qp.dll”--“拒绝访问。” 源错误: 显示详细的编译器输出: c:\windows\system32\inetsrv> "C:\Windows\https://www.doczj.com/doc/5513436967.html,\Framework\v2.0.50727\csc.exe" /t:library /utf8output /R:"C:\Windows\assembly\GAC_MSIL\System.Web.Services\2.0.0.0__b03f5f7 f11d50a3a\System.Web.Services.dll" /R:"C:\Windows\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\ System.Data.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089 \System.Xml.dll" /R:"C:\Windows\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\Sys tem.dll" /R:"C:\Windows\assembly\GAC_32\System.Web\2.0.0.0__b03f5f7f11d50a3a\S ystem.Web.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.ServiceModel.Web\3.5.0.0__31b f3856ad364e35\System.ServiceModel.Web.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.WorkflowServices\3.5.0.0__31b f3856ad364e35\System.WorkflowServices.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d5 0a3a\System.Drawing.dll" /R:"C:\Windows\https://www.doczj.com/doc/5513436967.html,\Framework\v2.0.50727\Temporary https://www.doczj.com/doc/5513436967.html, Files\yaming\88832561\f6ecaa7\assembly\dl3\3b4c681c\d995f256_4f1cc901 \BusinessLogicLayer.DLL"

“word无法读取文档,文档可能损坏”的解决方法

Word的恢复06.03.01 lytton Word的恢复Word是大家最常用的文字处理软件,可是您有没有遇到过这种情况:辛辛苦苦编辑完成的文档,再要打开时,系统却告之Word无法打开该文档。如果无法打开文档的问题发生在Word停止响应,系统故障或断电之后,那么您不妨直接重新启动Word,这时将自动打开"文档恢复"任务窗格,并在其中列出了程序停止响应时已恢复的所有Word文档。2.在"打开"对话框,""选项中,单击"从任意文件中恢复文件(*.*)"。 清除Word历史记录防止文档隐私被窃取09.03.02 Bicky 笔者的计算机经常要借给同事使用,而其它用户在使用Word文档进行撰写和编辑时,通过文档最近打开记录,可以看到笔者曾经编辑和撰写过的文章记录(如图1)。清除方式十分简单,打开Word文档,点击左上角的"徽标"按钮,在菜单中点击"Word选项"按钮进入到Word设置窗口之中,点击高级选项卡,切换到选项之中,并选择"显示"选区中的"显示此数目的"最近使用的文档"选项。 如何快速实现把word文档转换成PDF文档-且行资源07.12.01 快乐精灵 如何快速实现把word文档转换成PDF文档2007-12-1 12:34:13PDF格式的文档在网络及出版方面比word文档有更多的优势。如何快速地实现把word文档转换成PDF格式的文档呢?教程下载地址一:https://www.doczj.com/doc/5513436967.html,/attachment.php?aid=308 教程下载地址二:https://www.doczj.com/doc/5513436967.html,/self.aspx/toolsoft/wordcovertpdf.pdf以后本站发布文档尽可能采用PDF格式。

sstream库函数用法详解

C++的sstream标准库介绍 C++风格的串流控制,C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含sstream头文件。 istringstream类用于执行C++风格的串流的输入操作。 ostringstream类用于执行C风格的串流的输出操作。 stringstream类同时可以支持C风格的串流的输入输出操作。 istringstream类是从istream(输入流类)和stringstreambase(c++字符串流基类)派生而来, ostringstream是从ostream(输出流类)和stringstreambase(c++字符串流基类)派生而来, stringstream则是从iostream(输入输出流类)和和stringstreambase (c++字符串流基类)派生而来。 istringstream是由一个string对象构造而来,istringstream类从一个string对象读取字符。 istringstream的构造函数原形如下: istringstream::istringstream(string str); //程序作者:管宁 //站点:https://www.doczj.com/doc/5513436967.html, //所有稿件均有版权,如要转载,请务必著名出处和作者 #include #include using namespace std; int main() { istringstream istr; istr.str("1 56.7",); //上述两个过程可以简单写成 istringstream istr("1 56.7"); cout << istr.str()<>a; cout<>b; cout<

相关主题
文本预览
相关文档 最新文档