IO操作

来源:互联网 发布:天猫淘宝评价采集软件 编辑:程序博客网 时间:2024/04/29 05:42

IO类型在三个独立的头文件中定义:


iostream定义读写控制窗口的类型;

istream cin;

cin >> 


int scanf(const char *restrict format, ...)

ostream cout;

cout <<


int printf(const char *format, ...)


fstream定义读写已命名文件的类型;

fstream file(const char *_Filename);

file.open(const char *_Filename);

FILE *file;

FILE *fopen(const char *path, const char *mode);

file>>

size_t fread(void *buffer, size_t size, size_t count, FILE *stream)

file<<

size_t fwrite(const void *buffer, size_t size, size_t count, FILE *stream)

file.close();

int flose(FILE *fp);


sstream定义读写存储在内存中的string对象的类型。

  • istringstream从string对象中读取,由istream派生而来;
  • ostringstream写到string对象中去,由ostream派生而来;
  • stringstream对string对象进行读写,由iostream派生而来。

istringstream input_string;

input_string >>

int atoi(const char *nptr)

double atof(const char *nptr)

ostringstream output_string;

output_string <<

非标准,扩展函数

char* itoa(int value, char *string, int radix)


因为IO类型通过继承关联,所以可以只编写一个函数,而将它应用到三种类型的流上:控制台、磁盘文件或字符串流。fstream和stringstream由iostream类型派生而来,意味着iostream上所有的操作都适用于sstream中的类型。


basic_ifstream(const char * _Filename, std::ios_base::openmode _Mode, int _Prot = 64)

打开文件流对象。


一般而言,输出操作符应输出对象的内容,进行最小限度的格式化,它们不应该输出换行符。


std::basic_istream<_Elem, _Traits>& operator >><_Elem, _Traits>(std::basic_istream<_Elem, _Traits>&& _Istr, _Elem *_Str)

从流对象读取数据,每次读入一个单词。(Hunger:输入操作符会忽略换行跟空格符。)


FILE *  fopen(const char * _Filename, const char * _Mode)

文件顺利打开后,指向该流的文件指针就会被返回;如果文件打开失败则返回NULL,并把错误代码存在errno 中。


int fgetc(FILE * _File)

从参数_File所指的文件中读取一个字符,并把它作为一个字符返回,若读到文件尾或出现错误时,它就返回EOF,必须通过ferror或feof来区分这两种情况。读取一个字节后,光标位置后移一个字节。


int  fclose(FILE * _File)

关闭一个流,如果流成功关闭,fclose 返回 0,否则返回EOF(-1)。(如果流为NULL,而且程序可以继续执行,fclose设定error number给EINVAL,并返回EOF。)


void rewind(FILE * _File)

 将文件内部的位置指针重新指向一个流(数据流/文件)的开头。


size_t  fread(void * _DstBuf, size_t _ElementSize, size_t _Count, FILE * _File)

从一个文件流中读数据,_DstBuf是用于接收数据的内存地址,最多读取_Count个元素,每个元素_ElementSize个字节,如果调用成功返回实际读取到的元素个数,如果不成功或读到文件末尾返回 0。


_Mystr stringstream::str()

返回字符串流对象中存储的string类型对象。


void stringstream::str(const _Mystr& _Newstr)

将string类型的_Newstr复制给字符串流对象。

0 0
原创粉丝点击