首页 > 代码库 > 2014025654《嵌入式系统程序设计》第五周学习总结

2014025654《嵌入式系统程序设计》第五周学习总结

1.fread

在文件被打开后,可对文件进行读写等操作,其中读操作的函数为fread()

函数原型 size_t fread (voidptr,size_t size,size_t nmemb,FILEstream)

ptr:存放读入记录的缓冲区

size:读取的记录大小

nmemb:读取的记录数

stream:要读取的文件流

函数返回值

成功:返回实际读取的nmemb数目

失败:EOF

fwrite

fwrite(0函数用于对确定的文件流进行写操作。

函数原型 size_t fwrite (constptr,size_t size,size_t nmemb,FILE*stream)

ptr:存放写入记录的缓冲区

size:写入的记录大小

nmemb:写入的记录数

stream:要写入的文件流

函数返回值

成功:返回实际读取的nmemb数目

失败:EOF

fwrite和fread用于读写记录、用于二进制文件的术如何输出。fwrite是按二进制写入,所以写入数据所占空间是根据数据类型来确定。fread读取文件,可安全用于二进制文件。

exe()函数容易执行失败,所以一定要加上错误判断语句。

常见错误:

找不到文件或路径

数组argv和envp没有用NULL结束

没有对应可执行文件的运行权限

exit: void exit(int status)

_exit: void _exit(int status)

exit()和_exit() 函数终止进程,执行操作时,进程停下剩下的操作。但是两个函数略有不同,_exit()直接终止进程,exit()在终止进程前对目前文件的使用情况进行调查,把文件缓冲区的内容写回文件。

waitpid函数使父进程阻塞,在linux中实现wait()函数调用的就是waitpid()函数。

waitpid函数de参数

pid>0时,只等待进程等于pid的子进程,不收其他进程的影响

pid=-1时,等待任何一个子进程

pid=0时,等待同一个进程组中的任何子进程

pid<-1时,由pid的绝对值绝对进程组

fork()函数是从已有的进程中再创建一个新进程,所创建的新进程是子进程,已有的进程为父进程。子进程再原进程中继承了地址空间,子进程只有进程号和资源使用等。

2014025654《嵌入式系统程序设计》第五周学习总结