linux c常用字符串处理函数
一、puts
名称:
puts
功能:
向显示器输出字符串。
头文件:
#include .h>
函数原形:
int puts(const char *s);
参数:
s 字符串
返回值:
成功返回输出的字符数,失败返回EOF
put函数和printf函数在字符串输出中的差别:
puts在输出字符串时,遇见’\0’会自动终止输出,并将’\0’转换为’\n’来输出。
Printf在输出字符串时,遇见’\0’只是终止输出,并不会将’\0’转换为’\n’来输出。
二、strcat
名称:
strcat
功能:
字符串连接函数
头文件:
#include .h>
函数原形:
char *strcat(char *restrict s1,const char *restrict s2);
参数:
s1 字符串1
s2 字符串2
返回值:
返回字符数组1的首地址
Strcat能够将字符串2连接到字符串1的后面。要注意的是字符串1必须能够装下字符串2。连接前,两串均以’\0’结束,连接后,串1的’\0’被取消,新串最后加‘’\0’
如:
char name[100]="Mike";
char number[20]="001";
strcat(name,number);
puts(name);
输出为:
Mike001
三、strcpy
名称:
strcpy
功能:
字符串拷贝函数 头文件:
#include .h>
函数原形:
char *strcpy(char *restrict s1,const char *restrict s2);
参数:
s1 字符串1
s2 字符串2
返回值:
返回字符数组1的首地址
strcpy将字符串2,拷贝到字符数组1中去,要注意,字符数组1必须足够大,拷贝时’\0’一同拷贝,不能使用赋值语句为一个字符数组赋值。
四、strcmp
名称:
strcmp
功能:
字符串比较函数
头文件:
#include .h>
函数原形:
char *strcmp(const char *s1,const char *s2);
参数:
s1 字符串1
s2 字符串2
返回值:
返回int型整数
strcmp对两串从左向右逐个字符比较(ASCLL吗),直到遇见不同字符或’\0’为止。若s1大于s2返回正整数,若s1小于s2返回负整数,若s1等于s2返回0。要注意字符串比较不能用"= =",必须用strcmp.
#include
#include
typedef struct
{
char name[20];
char num[20];
}USERINFO;
main()
{
USERINFO user;
char newname[ ]="Rose";
int result;
strcpy(,"Mike");
result=strcmp(,newname);
if(result!=0)
printf("different person!");
else Printf("the same person!");
}
五、strlen
名称:
strlen
功能:
字符串长度函数
头文件:
#include .h>
函数原形:
int strlen(const char *s);
参数:
s 字符串
返回值:
返回字符串实际长度
strlen计算字符串长度并返回,不包含’\0’在内。
如:char str[100]="study";
int length;
length=strlen(str);
printf("%d",length);
输出:5
六、strtok
名称:
strtok
功能:
字符串分割函数
头文件:
#include .h>
函数原形:
char *strtok(char *s,const char *delim)
参数:
s 欲分割的字符串
delim 分割字符串
返回值:
返回下一个分割后的字符串指针,如果已无从分割则返回NULL
Strtok可将字符串分割,当strtok在参数s的字符串中发现到参数delim的分割字符时则会将该字符改为\0字符。
在第一次调用时,strtok必须给予参数s字符串,往后的调用则将参数s设置为NULL.
下面是程式例子:
#include #include
main()
{
char s[ ]="ab-cd:de;gh:mnpe;ger-tu";
char *delim="-:"; char *p;
printf("%s\n",strtok(s,delim));
p=strtok(NULL,delim);
while((p=strtok(NULL,delim)))
Printf("%s\n",p);
}
输出结果为:
ab
cd
ee;gh
mnpe;ger
tu
str族函数
str族函数
一、概述
str族函数是C语言中用于处理字符串的函数集合,包括字符串的拷贝、比较、查找、替换等操作。本文将详细介绍常用的str族函数及其使用方法。
二、strcpy函数
1. 函数原型:char *strcpy(char *dest, const char *src);
2. 函数作用:将源字符串src复制到目标字符串dest中。
3. 参数说明:
dest:目标字符串,必须有足够的空间来存储源字符串。
src:源字符串,要被复制到目标字符串中。
4. 返回值:返回指向目标字符串的指针dest。
三、strcat函数
1. 函数原型:char *strcat(char *dest, const char *src);
2. 函数作用:将源字符串src连接到目标字符串dest末尾。
3. 参数说明:
dest:目标字符串,必须有足够的空间来存储连接后的新字符串。
src:源字符串,要被连接到目标字符串末尾。
4. 返回值:返回指向新连接后的目标字符串的指针dest。
四、strlen函数
1. 函数原型:size_t strlen(const char *s);
2. 函数作用:计算给定字符数组s中第一个空字符前面的字符数。
3. 参数说明:
s: 字符数组,要计算长度的字符数组。
4. 返回值:返回字符数组s中第一个空字符前面的字符数。
五、strcmp函数
1. 函数原型:int strcmp(const char *s1, const char *s2);
2. 函数作用:比较两个字符串s1和s2。
3. 参数说明:
s1: 字符串1。
s2: 字符串2。
4. 返回值:
如果s1小于s2,返回一个负整数。
如果s1大于s2,返回一个正整数。
如果s1等于s2,返回0。
六、strchr函数
1. 函数原型:char *strchr(const char *s, int c);
c语言中str的用法
c语言中str的用法
一、概述
在C语言中,字符串是一种非常重要的数据类型。而str则是C语言中用于操作字符串的函数库。str库包含了很多用于操作字符串的函数,例如字符串复制、字符串连接、字符串比较等等。本文将详细介绍C语言中str的用法。
二、头文件
在使用str库时,需要包含头文件。该头文件定义了许多有用的函数原型和宏定义。
三、常用函数
1. strlen()
strlen()函数返回一个给定字符串的长度,不包括空字符(''\0'')。
函数原型:size_t strlen(const char *s);
参数:s为要计算长度的字符串。
返回值:返回一个size_t类型的值,表示给定字符串的长度。
示例代码:
```
#include
#include
int main()
{
char str[] = "Hello World";
printf("Length of the string is: %ld", strlen(str));
return 0;
}
```
输出结果:
```
Length of the string is: 11
```
2. strcpy()
strcpy()函数将一个给定的源字符串复制到目标字符数组中,并返回目标字符数组。
函数原型:char *strcpy(char *dest, const char *src);
参数:dest为目标字符数组;src为源字符串。
返回值:返回目标字符数组dest。
示例代码:
```
#include
#include
int main()
{
char src[] = "Hello World";
char dest[20];
strcpy(dest, src); printf("Copied string is: %s", dest);
return 0;
c语言常用函数大全及详解
C语言常用函数包括:
1. printf函数:用于在控制台输出数据。
2. scanf函数:用于从控制台读取用户输入的数据。
3. strlen函数:用于计算字符串的长度。
4. strcmp函数:用于比较两个字符串的大小。
5. strcpy函数:用于将一个字符串复制到另一个字符串中。
6. strcat函数:用于将一个字符串连接到另一个字符串的末尾。
7. strchr函数:用于查找字符串中指定字符的位置。
8. strstr函数:用于查找字符串中指定子串的位置。
9. atoi函数:用于将字符串转换为整数。
10. atof函数:用于将字符串转换为浮点数。
11. malloc函数:用于动态分配内存空间。
12. free函数:用于释放动态分配的内存空间。
13. memcpy函数:用于将一段内存区域的数据复制到另一段内存区域。
14. memset函数:用于将一段内存区域的数据设置为指定的值。
15. abs函数:用于计算整数的绝对值。
16. rand函数:用于生成随机数。
17. srand函数:用于设置随机数生成器的种子。
18. time函数:用于获取当前的系统时间。 19. localtime函数:用于将时间戳转换为本地时间。
20. strtol函数:用于将字符串转换为长整型数。
21. strtod函数:用于将字符串转换为双精度浮点数。
22. fprintf函数:用于将数据格式化输出到文件中。
23. fscanf函数:用于从文件中读取格式化的数据。
24. fgets函数:用于从文件中读取一行数据。
25. fputs函数:用于将数据写入文件中。
26. fopen函数:用于打开文件。
27. fclose函数:用于关闭文件。
28. feof函数:用于判断文件是否已经到达文件末尾。
29. ferror函数:用于判断文件操作是否发生错误。
30. fprintf函数:用于将数据格式化输出到文件中。
string.h 函数
string.h 是 C 语言标准库中的一个头文件,它包含了处理字符串的函数。以下是一些在 string.h 中常见的函数:
1.
strcpy(): 复制一个字符串到另一个字符串。
c复制代码
char *strcpy(char *dest, const char *src);
2.
strcat(): 将一个字符串附加到另一个字符串的末尾。
c复制代码
char *strcat(char *dest, const char *src);
3.
strlen(): 返回一个字符串的长度(不包括终止字符)。
c复制代码
size_t strlen(const char *s);
4.
strcmp(): 比较两个字符串。
c复制代码
int strcmp(const char *s1, const char *s2);
5.
strchr(): 在字符串中查找第一个出现的指定字符。
c复制代码
char *strchr(const char *s, int c);
6.
strstr(): 在字符串中查找子字符串的首次出现。
c复制代码
char *strstr(const char *haystack, const char *needle);
7.
memcpy(): 从源地址复制指定数量的字节到目标地址。
c复制代码
void *memcpy(void *dest, const void *src, size_t n);
8.
memset(): 将内存区域设置为给定的值。
c复制代码
void *memset(void *s, int c, size_t n);
9.
memmove(): 从源地址复制字节到目标地址,可以处理重叠的内存区域。
c复制代码
void *memmove(void *dest, const void *src, size_t n);
10. bzero(): 将内存区域设置为零。这是一个非标准的函数,但在一些旧的代码中可能会看到。在新的代码中,建议使用 memset。
C语言字符串操作函数
strtok()—字符串分割函数
相关函数:index, memchr, rindex, strpbrk, strsep, strspn, strstr
头文件:#include
定义函数:char * strtok(char *s, const char *delim);
函数说明:strtok()用来将字符串分割成一个个片段. 参数s 指向欲分割的字符串, 参数delim 则为分割字符串,当strtok()在参数s 的字符串中发现到参数delim 的分割字符时则会将该字符改为\0 字符. 在第一次调用时,strtok()必需给予参数s 字符串, 往后的调用则将参数s 设置成NULL. 每次调用成功则返回下一个分割后的字符串指针.
返回值:返回下一个分割后的字符串指针, 如果已无从分割则返回NULL.
范例
#include
main()
{
char s[] = "ab-cd : ef;gh :i-jkl;mnop;qrs-tu: vwx-y;z";
char *delim = "-: ";
char *p;
printf("%s ", strtok(s, delim));
while((p = strtok(NULL, delim)))
printf("%s ", p);
printf("\n");
}
执行结果:
ab cd ef;gh i jkl;mnop;qrs tu vwx y;z //-与:字符已经被\0 字符取代
strstr()—字符串查找函数
相关函数:index, memchr, rindex, strchr, strpbrk, strsep, strspn, strtok
头文件:#include
定义函数:char *strstr(const char *haystack, const char * needle);
strcspn函数
- 1 - strcspn函数
strcspn函数是C语言中字符串处理函数,它可以用于计算字符串中连续字符的长度。该函数可以获取从字符串中正向搜索到某字符串结束前,两个字符串中不同字符的数量。
strcspn函数的格式为:size_t strcspn(const char *str1,
const char *str2),其中str1为要搜索的字符串,str2为要查找的字符串。
strcspn函数执行过程中,首先在字符串str1中搜索字符串str2中出现的字符,搜索过程从第一个字符开始,直到找到最后一个字符为止。一旦搜索到字符串str2中出现的字符,strcspn函数就会停止搜索,并返回两个字符串中不相同字符的数量。
strcspn函数返回类型为size_t,如果两个字符串没有任何不同的字符,则返回值为strlen(str1),strlen是strcspn函数的一个库函数,可以用来计算字符串的长度。
当我们想要知道在字符串中出现多少不同的字符时,可以使用strcspn函数来计算。比如要比较字符串“ABCDEFG”和“XYZ”,strcspn函数会返回6,表明这两个字符串中共有6个不同的字符,各自分别为“A”,“B”,“C”,“D”,“E”,“F”和“G”。
除了应用于字符串比较之外,strcspn函数还可以用于搜索字符串中的某些子字符串,或是查找字符串中特定字符的位置。另外,strcspn函数可以用来实现字符串拆分,根据特定字符将字符串分割成不同的部分。 - 2 - strcspn函数在C语言中非常重要,它可以帮助我们分析和处理字符串,可以让我们避免使用复杂的数据结构来实现某些功能。它的实现方式非常简洁,处理效率也非常高,因此它已经成为C语言程序设计中一种重要的工具和技术。
linux系统函数
- 1 - linux系统函数
Linux系统函数是在Linux操作系统中使用的函数库。这些函数提供了许多常用的功能,如文件操作、进程管理、网络通信等等。本文将介绍一些常用的Linux系统函数及其用法。
一、文件操作函数
1. fopen
fopen函数用于打开文件。它的原型如下:
FILE *fopen(const char *path, const char *mode);
其中,path是文件路径,mode是打开文件的模式。mode可以是以下之一:
- 'r':只读模式,打开文件用于读取。
- 'w':写模式,打开文件用于写入。如果文件不存在,则创建一个新文件;如果文件已存在,则清空文件内容。
- 'a':追加模式,打开文件用于写入。如果文件不存在,则创建一个新文件;如果文件已存在,则在文件末尾追加内容。
- 'r+':读写模式,打开文件用于读取和写入。
- 'w+':读写模式,打开文件用于读取和写入。如果文件不存在,则创建一个新文件;如果文件已存在,则清空文件内容。
- 'a+':读写模式,打开文件用于读取和写入。如果文件不存在,则创建一个新文件;如果文件已存在,则在文件末尾追加内容。
fopen函数返回一个指向文件的指针。如果打开文件失败,则返回NULL。 - 2 - 2. fclose
fclose函数用于关闭文件。它的原型如下:
int fclose(FILE *stream);
其中,stream是指向要关闭的文件的指针。如果关闭文件成功,则返回0;否则返回EOF。
3. fread
fread函数用于从文件中读取数据。它的原型如下:
size_t fread(void *ptr, size_t size, size_t count, FILE
Linux C 一些函数 所属的头文件
Linux C 一些函数 所属的头文件
在编写程序时,有时总是不记得所使用的函数在哪个库函数中。现在先把自己以前经常用到的函数头文件总结一下。 有不对的地方还请指教。
1,系统调用 文件的操作函数
#inlclude
int open(char *name,int how) 第二个参数,O_RDONLY O_WRONLY O_RDWR O_CREAT
#include
int close(int fd)
size_t read(int fd,void *buf, size_t count)
size_t write(int fd,const void *buf,size_t count)
sleep(1) 系统睡眠一秒钟,最小单位为一秒。
#define msleep(x) usleep(x*1000)
msleep(500); 系统睡眠0.5秒
#include
perror("会出现错误的函数名")
#include
char *strerror(int errnum) 依据错误代码errnum来查找错误原因字符串
char *strcpy(char *dest,const char *src)
int strcmp(char *s1,const char *s2) s1若等于s2的值则返回0值
int strncmp(char *s1,const char *s2,int n) 前n个字符串比较
2,进程控制函数
#include
pid_t fork(void) 子进程中返回0 父进程中返回子进程ID 出错返回-1
pid_t getpid(void) pid_t getppid(void)
pid_t vfork(void)
exec函数族
进程pid 的类型为pid_t 类型,它包含于#include 若定义一个进程pid变量,则需要包含此头文件
exit(n)结束进程 父进程可以由wait函数来获得子进程结束装状态。
CC++linux下光标定位和清屏函数
C/C++
linux下光标定位和清屏函数 printf("\033[47;31mhello world\033[5m"); 47是字背景颜色, 31是字体的颜色, hello world是字符串. 后面的\033[5m是控制码.
颜色代码: QUOTE:
字背景颜色范围: 40--49 字颜色: 30--39 40: 黑 30: 黑
41: 红 31: 红
42: 绿 32: 绿 43: 黄 33: 黄
44: 蓝 34: 蓝
45: 紫 35: 紫
46: 深绿 36: 深绿
47: 白色 37: 白色 ANSI控制码:
QUOTE: \033[0m 关闭所有属性
\033[1m 设置高亮度
\03[4m 下划线 \033[5m 闪烁
\033[7m 反显
\033[8m 消隐
\033[30m -- \033[37m 设置前景色
\033[40m -- \033[47m 设置背景色 \033[nA 光标上移n行
\03[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH设置光标位置 \033[2J 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标 \33[?25h 显示光标
这样, 在某些时候就可以实现动态的输出.
文章出处:飞诺网():/course/6_system/linux/Linuxjs/20090728/168199.html
printf("\033[47;31mhello world\033[5m"); 47是字背景颜色, 31是字体的颜色, hello world是字符串. 后面的\033[5m是控制码.
颜色代码: QUOTE:
字背景颜色范围: 40--49 字颜色: 30--39 40: 黑 30: 黑
CC++ linux下光标定位和清屏函数
C/C++
linux下光标定位和清屏函数
printf("\033[47;31mhello world\033[5m");
47是字背景颜色, 31是字体的颜色, hello world是字符串. 后面的\033[5m是控制码.
颜色代码:
QUOTE:
字背景颜色范围: 40--49 字颜色: 30--39
40: 黑 30: 黑
41: 红 31: 红
42: 绿 32: 绿
43: 黄 33: 黄
44: 蓝 34: 蓝
45: 紫 35: 紫
46: 深绿 36: 深绿
47: 白色 37: 白色
ANSI控制码:
QUOTE:
\033[0m 关闭所有属性
\033[1m 设置高亮度
\03[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐
\033[30m -- \033[37m 设置前景色
\033[40m -- \033[47m 设置背景色
\033[nA 光标上移n行
\03[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH设置光标位置
\033[2J 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\33[?25h 显示光标
这样, 在某些时候就可以实现动态的输出.
文章出处:飞诺网():/course/6_system/linux/Linuxjs/20090728/168199.html
printf("\033[47;31mhello world\033[5m");
47是字背景颜色, 31是字体的颜色, hello world是字符串. 后面的\033[5m是控制码.
颜色代码:
QUOTE:
字背景颜色范围: 40--49 字颜色: 30--39 40: 黑 30: 黑
