c++ 文件流

IO流 读取:

控制窗口,磁盘文件,内存中的字符串进行读写:

Iostream控制读写控制窗口

Fstream控制读写命名文件窗口

Sstream控制读写存在内存中的string对象c++ 文件流_第1张图片

有基类型应用形参,可以给函数传递其派生类的对象

Istream& 可以传递给函数 ifstream对象

标准库读写的是由char类型组成的流

Wchar_t有自己专门对应的一组读写标准库。

标准库不可复制或赋值。

Ofstream out1, out2;

Out1 = out2; //error

Ofstream print()

流类型不能用做返回值或形参,可以用它的指针或引用。

流有四种状态:c++ 文件流_第2张图片

Eof , good , bad ,fail

While(cin>>ival, !cin.eof()){ //只判断cin是否读到文件末尾因为,操作符的求解过程是只看最右的结果。

}

While(cin>>ival)

终止的条件包括:系统级故障;读入了无效数据;遇到文件结束符;

每个IO对象管理一个缓冲区,用于存储用户读写的数据。

缓冲区被刷新的情况:

  1. 程序正常结束。作为main返回工作的一部分,将清空所有输出缓冲区。
  1. 在一些不确定的时候,缓冲区可能已经满了,在这种情况下,缓冲区将会在写下一个值之前刷新。
  1. 用操纵符(manipulaterendl刷新输出缓冲区。Flush操纵符,刷新缓冲区,不在输出中添加任何字符。
  1. 在每次输出操作完成后,用unitbuf操纵符设置流的内部状态,从而清空输出缓冲区。
  1. 可将输入流和输出流关联起来,在这种情况下,在读输入流时,将刷新相应的输出缓冲区。

输出中最好用endl而不是"\n",使用 endl,不用担鲜程序本哭死,输出是否悬而未决(还留在缓冲区,未输出到设备)

可以用tie函数将输入和输出绑在一起。

可以用istream或ostream来调用,使用一个指向ostream对象的指针形参。调用tie时,会将实参流绑在调用该函数的对象上。

一个ostream每次只能与一个istream对象绑在一起。

 

文件路径: \反义字符

 绝对路径:F:\\videoSynopsis\\code\\VideoSynopthesis\\Debug\\out

E:/myprograme/BBG/include

 相对路径:相对于当前路径的路径

1.

VS2010默认的工作目录是项目根目录下项目同名目录:

F:\videoSynopsis\code\VideoSynopthesis\VideoSynopsis

如果是用vs2010调试时,目录是以上默认工作目录。

如果是运行.exe文件,则是该exe所在目录为当前目录。

你可能感兴趣的:(C++,文件流)