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族函数

一、概述

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库包含了很多用于操作字符串的函数,例如字符串复制、字符串连接、字符串比较等等。本文将详细介绍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语言常用函数大全及详解

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 函数

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语言字符串操作函数

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函数

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: 黑

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档