189 8069 5689

标准I/O操作-创新互联

标准I/O操作:

创新互联-专业网站定制、快速模板网站建设、高性价比隰县网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式隰县网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖隰县地区。费用合理售后完善,10年实体公司更值得信赖。

1、FILE* fopen(const char* path, const char* mode)

   FILE :文件打开的各种状态信息的指针;

   path: 文件路径;注意,目录文件只能以只读形式打开,不能进行写;

   mode:  文件打开的模式: “r”(只读,且文件必须存在),“w”(只写,如果文件不存在,则创建,如果已经存在,则将其长度截断为0,从头写),“a”(表示追加数据到末尾,如果文件不存在,则创建),“r+”,“w+”,“a+”;

2、int fgetc(FILE *stream)  从文件或终端中读取一个字节返回,本来应该返回uchar类型,但是函数原型的返回值是int型,所以要转化为扩展为int型的;这个函数既可以从终端读,也可以从文件中读;

3、int getchar(void) 从终端(只能从终端)中读取一个字节,返回时扩展为int型,原因同上;

4、int fputc(int c,FILE* stream);int putchar(int c); 为写入函数,写入是文件必须是可写的;

5、int fseek(FILE* stream, long offset ,int whence)  用于设置读写指针偏移,返回相对于文件起始位置的偏移量大小;

6、int ftell(FILE *stream) 用于返回当前读写指针的位置;

7、void rewind(FILE *stream) 用于读写指针移动到文件的起始位置;

8、char* gets(char *s)从标准输入一行保存在缓冲区,但是永远不要用这个函数;因为未指定缓存区的大小,所以很容易产生缓冲区溢出,造成错误;

9、char* fgets(char *s, int size, FILE* stream) 表示从指定的文件中读取一行,到用户指定的缓冲区;返回的指针是指针s移动后的位置;

   注意: fgets()只适用于读不含‘\0’的文本文件,因为fgets()会自动在末尾加‘\0’,但是,如果用户在输入中也输入‘\0’,那么就无法识别是fgets自己加的,还是用户加的;另外,由于’\0‘的ASIIC 是0x00,所以在不能读二进制文件;

10、int fputs(const char *s, FILE* stream); 将字符串写入到文件中,不含末尾的’\0‘;

    int puts(const char* s); 将字符串写入到标准输入中;

11、对文件进行的任何操作,都要先明白读写指针在什么地方,这个决定了你读写的位置;

12、fread(void *str, size_t size, size_t nmemb, FILE* stream) 从文件stream 中读取nmemb 个大小为size字节大小的数据到 str;

    fwrite(void *str, size_t size, size_t nmemb, FILE* stream) 同上,是写入文件;

13、全缓冲:等待缓冲区写满以后,才写入内核;常规文件用此方式;

    行缓冲:等待有换行符的时候,就写入内核;标准输入输出用这种方式;

    不带缓冲:用户每次写操作都要调用系统调用,写入内核;

    int fflush(FILE* stream) 用于将缓冲区的数据立即写入内核;成功返回0;

14、标准文件流:FILE:     stdin ,stdout, stderr;

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:标准I/O操作-创新互联
网页路径:http://cdxtjz.cn/article/pejoc.html

其他资讯