http://www.Sina.com/http://www.Sina.com /
)1).Linux的http://www.Sina.com/(I/o )操作通常是打开、读取、写入、定位和关闭五个方面。 相应的函数为Linux 下文件IO编程进程控制实验(、一、基本I/O操作)、输入/输出)、open)、
# includesys/types.h # includesys/stat.h # include unistd.h # include fcntl.hint open (const char * pathname,int flarale ) size_twrite(intFD,const void *buf,size_t nbytes ); off_tlseek(intFD,off_t offset,int whence ); intclose(intFD ); )2) .基本函数的一个共同特征是在所有(文件描述符)中进行文件I/O操作。
在read()函数中,pathname是一个字符串,表示打开的文件名并可以包含路径; flags是一个或多个标记,指示文件的打开方式。 mode指示打开的文件的权限模式。
在3write()和http://www.Sina.com/)函数中,软盘表示文件描述符。 buf指定内存读取数据的缓冲区count指定读取或写入的字节数。lseek)函数:使用文件后,可以在close中关闭文件。 close将缓冲区中的数据写回磁盘,释放文件占用的资源。 如果文件成功关闭,则返回0;如果文件未关闭,则返回-1,并放置错误号。
close
1. open()函数:函数原型如下:
# include stdio.hfile * fopen (常数char * pathname,常数char * type ); 3358www.Sina.com/) )函数可以指定打开文件的路径和模式。 路径由参数path指定,模式为read)函数的标志位flag。
2. write()函数,函数原型如下:
int fclose (文件* FP ); 将缓冲区中的数据写入文件,释放系统提供的文件资源。
close()和二、标准I/O操作() ) )函数的原型如下:
# include stdio.hsize _ TF read (void * ptr,size_t size,size_t nmemb,FILE *stream ); size_tfwrite(constvoid*ptr,size_t size,size_t nmemb,文件* stream ); 返回值:读取或写入的记录数。 成功时返回的记录数等于nmemb,发生错误或读到文件末尾时返回的记录数小于nmemb,也可能返回0。 3358www.Sina.com/和fopen是用于读/写的记录,参数size表示记录的长度,nmemb表示请求读或写的记录数,以及nmemb
fopen
掌握Linux文件IO的编程方法
2 .掌握标准I/O和基本I/O函数的调用方法
3 .掌握过程控制编程,包括创建、启动和退出过程
open
1、基本IO (非缓冲)操作编程
(1)需要编写基本IO操作的源代码,使用至基本IO操作的5个函数:打开、阅读、书写、定位、关闭。
)2)编译上述源代码并通过调试,最后分析验证运行结果。
首先,在lseek ()中,将文件位置标记设置为从末尾偏移offset字节位置; open ) )创建或打开文件,write ) )在文件中写入字符串,read ) )读取文件内容并保存到buffer[ ] ),返回读取字符数,最后关闭) FFE
函数实现的具体功能是提出源代码和相应的执行结果。
2 .标准IO (缓冲区)操作编程
(1)编写标准IO操作源代码,要求至标准IO操作的五个函数:打开、阅读、书写、定位、关闭。
)2)编译上述源代码并通过调试,最后分析验证运行结果。
先写并阅读,然后创建fseek,最后创建fclose,然后创建文件recfile。
函数实现的具体功能是提出源代码和相应的执行结果。
3、过程控制编程
(1)编写程序,使用fork ) )函数创建子进程,了解父子进程的执行过程。
父进程先运行,子进程后运行,调用fork ()一次,返回两次。
)编写程序,使用exec函数族,掌握在程序中启动新流程的方法和流程。
这次使用的是exec函数家族的execlp函数。 exec函数只有在发生错误时才有返回值,没有很好的返回值。 execlp中的第一个ps是程序名称,要在PATH环境变量中找到并运行它,第二个ps是命令行ps,等效于ps -ef。
)3)编写程序,使用exit函数,掌握流程终止函数的使用方法
Exit ) )用于终止进程,当程序运行到Exit )时,进程无条件停止所有其馀操作。 _exit ) )直接停止进程,并立即退出。 无法完全输出之前打印的信息。