zoukankan      html  css  js  c++  java
  • 2014025640《嵌入式系统程序设计》第五周学习总结

    1.fread()函数:读取文件函数

    定义函数:size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);

    函数说明:fread()用来从文件流中读取数据.
    参数stream 为已打开的文件指针, 参数ptr 指向欲存放读取进来的数据空间, 读取的字符数以参数size*nmemb 来决定. Fread()会返回实际读取到的nmemb 数目, 如果此值比参数nmemb 来得小, 则代表可能读到了文件的尾或有错误发生, 这时必须用feof()或ferror()来决定发生什么情况.

    返回值:返回实际读取到的nmemb 数目。

    2.fwrite()函数:写入文件函数

    定义函数:size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);

    函数说明:fwrite()用来将数据写入文件流中. 参数stream 为已打开的文件指针, 参数ptr 指向欲写入的数据地址, 总共写入的字符数以参数size*nmemb 来决定. Fwrite()会返回实际写入的nmemb 数目.

    返回值:返回实际写入的nmemb 数目.

    fork()函数:计算机程序设计中的分叉函数。返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程标记;否则,出错返回-1。

    fork函数将运行着的程序分成2个(几乎)完全一样的进程,每个进程都启动一个从代码的同一位置开始执行的线程。这两个进程中的线程继续执行,就像是两个用户同时启动了该应用程序的两个副本。

    函数原型:pid_t fork( void);

    (pid_t 是一个宏定义,其实质是int 被定义在#include<sys/types.h>中)

    返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程ID;否则,出错返回-1
    函数说明:一个现有进程可以调用fork函数创建一个新进程。由fork创建的新进程被称为子进程(child process)。fork函数被调用一次但返回两次。两次返回的唯一区别是子进程中返回0值而父进程中返回子进程ID。

    子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的是上述存储空间的"副本",这意味着父子进程间不共享这些存储空间。

    UNIX将复制父进程的地址空间内容给子进程,因此,子进程有了独立的地址空间。在不同的UNIX (Like)系统下,我们无法确定fork之后是子进程先运行还是父进程先运行,这依赖于系统的实现。所以在移植代码的时候我们不应该对此作出任何的假设。

    3.函数名: exit()

    所在头文件:stdlib.h(如果是"VC6.0"的话头文件为:windows.h)

    功 能: 关闭所有文件,终止正在执行的进程。

    exit(1)表示异常退出.这个1是返回给操作系统的。

    exit(x)(x不为0)都表示异常退出

    exit(0)表示正常退出

    exit()的参数会被传递给一些操作系统,包括UNIX,Linux,和MS DOS,以供其他程序使用。

    stdlib.h: void exit(int status);

    参 数 : status //程序退出的返回值.

    exit()和return的区别:

    按照ANSI C,在最初调用的main()中使用return和exit()的效果相同。

    但要注意这里所说的是"最初调用"。如果main()在一个递归程序中,exit()仍然会终止程序;但return将

    控制权移交给递归的前一级,直到最初的那一级,此时return才会终止程序。return和exit()的另一个区别

    在于,即使在除main()之外的函数中调用exit(),它也将终止程序。

    exit()与exit的区别:

    头文件:

    exit:#include
    
    _exit:#include
    

      

    _exit()函数:直接使进程停止运行,清除其使用的内存空间,并销毁其在内核中的各种数据结构;

    exit()函数则在这些基础上作了一些包装,在执行退出之前加了若干道工序。

    exit()函数与_exit()函数最大的区别就在于 exit()函数在调用 exit 系统调用之前要检查文件的打开情况,把文件缓冲区中的内容写回文件。

  • 相关阅读:
    数组中的每一个对象执行一次方法:makeObjectsPerformSelector
    $.each() each
    JQ js选择节点操作
    Sublime Text 3 快捷键
    TotoiseSVN的基本使用方法
    Hbuilder快捷键
    获取网页内容区域各种高/宽汇总
    TP操作
    xhr接收php://output的二进制文件,并转换成excel表格
    Go语言的%d,%p,%v等占位符的使用
  • 原文地址:https://www.cnblogs.com/156005140qq/p/6891305.html
Copyright © 2011-2022 走看看