c语言中调用函数fn,C语言常见的函数调用

本文详细介绍了C语言中常用的函数调用,包括isatty函数用于检查设备类型,fileno获取文件描述符,memset用于内存填充,以及fgets, chdir, exec函数族,assert断言,dup与dup2的区别,pipe用于进程间通信,itoa等数字转字符串函数,pthread_create创建线程和多线程下原子操作的概念和使用。" 105008484,8274467,Ubuntu16.04扩容全攻略:避坑指南,"['Linux', 'ubuntu', '磁盘管理']
摘要由CSDN通过智能技术生成

C语言常见的函数调用

isatty,函数名,主要功能是检查设备类型,判断文件描述词是否为终端机。

函数名: isatty

用 法: int isatty(int desc);

返回值:如果参数desc所代表的文件描述词为一终端机则返回1,否则返回0。

程序例:

#include

#include

int main(void)

{

int handle;

handle = fileno(stdout);

if (isatty(handle))

printf("Handle %d is a device type\n", handle);

else

printf("Handle %d isn't a device type\n", handle);

re

函数名称:fileno(在VC++6.0下为_fileno)

函数原型:int _fileno( FILE *stream );

函数功能:fileno()用来取得参数stream指定的文件流所使用的文件描述符

返回值:某个数据流的文件描述符

头文件:stdio.h

相关函数:open,fopen,fclose

void *memset(void *s, int ch, size_t n);

函数解释:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。

memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法

函数原型

char *fgets(char *buf, int bufsize, FILE *stream);

参数

*buf:字符型指针,指向用来存储所得数据的地址。

bufsize: 整型数据,指明存储数据的大小。

*stream: 文件结构体指针,将要读取的文件流。

返回值

成功,则返回第一个参数buf;

在读字符时遇到end-of-file,则eof指示器被设置,如果还没读入任何字符就遇到这种情况,则buf保持原来的内容,返回NULL;

如果发生读入错误,error指示器被设置,返回NULL,buf的值可能被改变。

chdir 是C语言中的一个系统调用函数(同cd),用于改变当前工作目录,其参数为Path 目标目录,可以是绝对目录或相对目录。

exec函数

linux下c语言编程exec函数使用

2012年04月10日 09:39:27

阅读数:19800

exec用被执行的程序完全替换调用它的程序的影像。fork创建一个新的进程就产生了一个新的PID,exec启动一个新程序,替换原有的进程,因此这个新的被exec执行的进程的PID不会改变,和调用exec函数的进程一样。

下面来看下exec函数族:

#include

int execl(cONst char *path, const char *arg, ...);

int execlp(const char *file, const char *arg, ...);

int execle(const char *path, const char *arg, ..., char *const envp[]);

int execv(const char *path, char *const argv[]);

int execvp(const char *file, char *const argv[]);

int execve(const char *path, char *const argv[], char *const envp[]);

exec函数族装入并运行程序pathname,并将参数arg0(arg1,arg2,argv[],envp[])传递给子程序,出错返回-1。在exec函数族中,后缀l、v、p、e添加到exec后,所指定的函数将具有某种操作能力有后缀:

a66760d9cbcf8b4c5e50372b6048bdb2.png

execl("/bin/ls","ls","-a",NULL)

execv("/bin/ls",arg)

execlp("ls","ls","-a",NULL)

execvp("ls",arg)

execle("/bin/ls","ls","-a",NULL,envp)

execve("/bin/ls",arg,envp)

assert()使用

assert()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句,它的作用是终止程序以免导致严重后果,同时也便于查找错误。

linux编程之dup与dup2

在li

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值