Linux C 编程常用函数解析

 最近学习Linux C编程,将一些涉及到的函数列出来,方便使用。

                                    Mr_Huang

 ------------------------------------------------------------------

     itoa 函数

 

原型char *itoaint value, char *string,int radix);        //头文件:#include<stdlib.h>

value欲转换的数据;string:目标字符串的地址;radix:转换后的进制数,可以是10进制、16进制等。

功能:把一个整数转换成字符串。

说明itoa 并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,请用sprintf。标准库中有sprintf,功

能比这个更强,用法跟printf类似:

char str[255];

sprintf(str, "%x", 100); //将100转为16进制表示的字符串。

其他函数:

itoa() 将整型值转换为字符串

litoa() 将长整型值转换为字符串

ultoa() 将无符号长整型值转换为字符串

       strcat 函数

原型

        extern char *strcat(char *dest, const char *src);        //头文件:#include<<string.h>

功能

把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')。

将两个char类型连接。

char d[20]="GoldenGlobal";    char *s="View";    strcat(d,s);

结果放在d中

printf("%s",d);

输出 d 为 GoldenGlobalView (中间无空格)

d和s所指内存区域不可以重叠且d必须有足够的空间来容纳s的字符串。

返回指向d的指针

说明

src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。

返回指向dest的指针

            fsync 函数

原型

        int fsync(int fd);                //头文件:#include<unistd.h>

      说明

    参数fd是该进程打开来的文件描述符。 函数成功执行时,返回0。失败返回-1,errno被设为以下的某个值 ;

    EBADF: 文件描述词无效   

    EIO : 读写的过程中发生错误

    EROFS, EINVAL:文件所在的文件系统不支持同步

   调用 fsync 可以保证文件的修改时间也被更新。fsync 系统调用可以使您精确的强制每次写入都被更新到磁盘中。

您也可以使用同步(synchronous)I/O 操作打开一个文件,这将引起所有写数据都立刻被提交到磁盘中。通过在

 open 中指定 O_SYNC 标志启用同步I/O。

                system 函数

原型

            int system(const char * string);     //头文件:#include<stdlib.h>  #include <process.h>

功能

            发出一个DOS命令system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行

参数string字符串所代表的命令,此命>令执行完后随即返回原调用的进程。在调用system()期间SIGCHLD 

信号会被暂时搁置,SIGINT和SIGQUIT 信号则会被忽略。

返回值

=-1:出现错误 
=0:调用成功但是没有出现子进程 
>0:成功退出的子进程的id 

如果system()在调用/bin/sh时失败则返回127,其他失败原因返回-1。若参数string为空指针(NULL),

则返回非零值>。 如果system()调用成功则最后会返回执行shell命令后的返回值,但是此返回值也有

可能为 system()调用/bin/sh失败所返回的127,因此最好能再检查errno 来确认执行成功。

 

例子

 

        

实际执行ls 命令

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值