IO操作的一些基本函数

本文详细介绍了C语言中的IO操作,包括标准IO、文件IO和目录文件IO操作。涉及函数如fopen、fclose、fgets、fwrite等,以及文件打开模式、文件定位和目录流的使用。
摘要由CSDN通过智能技术生成

1、标准IO

标准文件

程序运行时,系统自动打开3个流

标准输入

从标准输入取数据,默认是键盘        stdin --FILE * stdin

标准输出

向标准输出设备输出,默认是显示器        stdout ---FILE * stdout

标准错误输出

向标准错误输出设备输出,默认是显示器        stderr --FILE * stderr

文件打开 fopen

#include <stdio.h>
​
FILE *fopen(const char *path, const char *mode); 

功能:打开或创建并打开 文件

参数

path : 文件名(包含路径:绝对路径或者相对路径)

mode : 文件打开的方式

r:以只读方式打开 文件必须已存在

r+:以读写方式打开 文件必须已存在

w:以只写方式打开 如果不存在 则创建并打开 存在则清空并打开

w+:以读写方式打开 如果不存在 则创建并打开 存在则清空并打开

a:以追加写的方式打开 如果文件不存在 则创建并打开

a+:以追加读写的方式打开 如果文件不存在 则创建并打开

返回值 :

成功返回FILE 类型指针(文件流指针)

失败返回NULL

错误提示 perror

#include <stdio.h>
​
void perror(const char *s);

功能:返回上一个函数的错误信息

参数:实际错误信息

按行读取 fgets

 #include<stdio.h>
​
 char *fgets(char *s, int size, FILE *stream);

功能:从文件中读取一行

参数:

s:读取的数据存放的位置

size:最多读多大 实际最多能读到的有效字符 size-1个字节

stream:从stream文件中读取一行

如果size < 行字节数 实际读取有效字符size-1 剩下的字符需要循环读取 直到’\n’

如果size > 行字节数 实际读到一行(遇到’\n’停止)

返回值:

成功 返回读到的数据

失败或者到文件结尾 返回NULL

地址上数据清零 bzero

常用的五个函数(I/O) 1. 图像载入函数 函数cvLoadImage载入指定图像文件,并返回指向该文件的IplImage指针。函数支持bmp、jpg、 png、 tiff等格式的图像。其函数原型如下: IplImage* cvLoadImage( const char* filename, int iscolor); 其,filename 是待载入图像的称,包括图像的扩展;iscolor是一个辅助参数项,可选正数、零和负数三种值,正数表示作为三通道图像载入,零表示该图像作为单通道图像,负数表示载入图像的通道数由图像文件自身决定。 2. 窗口定义函数 函数cvNamedWindow定义一个窗口,用于显示图像。其函数原型如下: int cvNamedWindow( const char* name, unsigned long flags ); 其,name是窗口,flags是窗口属性指标值,可以选择CV_WINDOW_AUTOSIZE和0两种值。CV_WINDOW_AUTOSIZE表示窗口尺寸与图像原始尺寸相同,0表示以固定的窗口尺寸显示图像。 函数 cvDestroyWindow(const char* name);销毁以上定义的窗口。 name是窗口 3. 图像显示函数 函数cvShowImage是在指定的窗口显示图像,其函数原型如下: void cvShowImage( const char* name, const CvArr* image ); 其,name是窗口称,image是图像类型指针,一般是IplImage指针。 4. 图像保存函数 函数cvSaveImage以指定的文件保存IplImage类型的指针变量,其函数原型如下: int cvSaveImage( const char* filename, const CvArr* image ); 其,filename是图像保存路径和称,image是IplImage指针变量。 5. 图像销毁函数 函数cvReleaseImage销毁已定义的IplImage指针变量,释放占用内存空间。其函数原型如下: void cvReleaseImage( IplImage** image ); 其,image为已定义的IplImage指针
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值