最近学习Linux C编程,将一些涉及到的函数列出来,方便使用。
Mr_Huang
------------------------------------------------------------------
itoa 函数
原型:char *itoa( int 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() 将整型值转换为字符串
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 命令