`

C语言常用字符串函数

 
阅读更多

函数名: stpcpy
功 能: 拷贝一个字符串到另一个
用 法: char *stpcpy(char *destin, char *source);
程序例:

#include <stdio.h>
#include <string.h>

int main(void)
{
char string[10];
char *str1 = "abcdefghi";

stpcpy(string, str1);
printf("%s\n", string);
return 0;
}
函数名: strcat
功 能: 字符串拼接函数
用 法: char *strcat(char *destin, char *source);
程序例:

#include <string.h>
#include <stdio.h>

int main(void)
{
char destination[25];
char *blank = " ", *c = "C++", *Borland = "Borland";

strcpy(destination, Borland);
strcat(destination, blank);
strcat(destination, c);

printf("%s\n", destination);
return 0;
}
函数名: strchr
功 能: 在一个串中查找给定字符的第一个匹配之处\
用 法: char *strchr(char *str, char c);
程序例:

#include <string.h>
#include <stdio.h>

int main(void)
{
char string[15];
char *ptr, c = 'r';

strcpy(string, "This is a string");
ptr = strchr(string, c);
if (ptr)
printf("The character %c is at position: %d\n", c, ptr-string);
else
printf("The character was not found\n");
return 0;
}
函数名: strcmp
功 能: 串比较
用 法: int strcmp(char *str1, char *str2);
看Asic码,str1>str2,返回值 > 0;两串相等,返回0
程序例:

#include <string.h>
#include <stdio.h>

int main(void)
{
char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc";
int ptr;

ptr = strcmp(buf2, buf1);
if (ptr > 0)
printf("buffer 2 is greater than buffer 1\n");
else
printf("buffer 2 is less than buffer 1\n");

ptr = strcmp(buf2, buf3);
if (ptr > 0)
printf("buffer 2 is greater than buffer 3\n");
else
printf("buffer 2 is less than buffer 3\n");

return 0;
}
函数名: strncmpi
功 能: 将一个串中的一部分与另一个串比较, 不管大小写
用 法: int strncmpi(char *str1, char *str2, unsigned maxlen);
程序例:

#include <string.h>
#include <stdio.h>

int main(void)
{
char *buf1 = "BBB", *buf2 = "bbb";
int ptr;

ptr = strcmpi(buf2, buf1);

if (ptr > 0)
printf("buffer 2 is greater than buffer 1\n");

if (ptr < 0)
printf("buffer 2 is less than buffer 1\n");

if (ptr == 0)
printf("buffer 2 equals buffer 1\n");

return 0;
}
函数名: strcpy
功 能: 串拷贝
用 法: char *strcpy(char *str1, char *str2);
程序例:

#include <stdio.h>
#include <string.h>

int main(void)
{
char string[10];
char *str1 = "abcdefghi";

strcpy(string, str1);
printf("%s\n", string);
return 0;
}
函数名: strcspn
功 能: 在串中查找第一个给定字符集内容的段
用 法: int strcspn(char *str1, char *str2);
程序例:

#include <stdio.h>
#include <string.h>
#include <alloc.h>

int main(void)
{
char *string1 = "1234567890";
char *string2 = "747DC8";
int length;

length = strcspn(string1, string2);
printf("Character where strings intersect is at position %d\n", length);

return 0;
}
函数名: strdup
功 能: 将串拷贝到新建的位置处
用 法: char *strdup(char *str);
程序例:

#include <stdio.h>
#include <string.h>
#include <alloc.h>

int main(void)
{
char *dup_str, *string = "abcde";

dup_str = strdup(string);
printf("%s\n", dup_str);
free(dup_str);

return 0;
}
函数名: stricmp
功 能: 以大小写不敏感方式比较两个串
用 法: int stricmp(char *str1, char *str2);
程序例:

#include <string.h>
#include <stdio.h>

int main(void)
{
char *buf1 = "BBB", *buf2 = "bbb";
int ptr;

ptr = stricmp(buf2, buf1);

if (ptr > 0)
printf("buffer 2 is greater than buffer 1\n");

if (ptr < 0)
printf("buffer 2 is less than buffer 1\n");

if (ptr == 0)
printf("buffer 2 equals buffer 1\n");

return 0;
}
函数名: strerror
功 能: 返回指向错误信息字符串的指针
用 法: char *strerror(int errnum);
程序例:

#include <stdio.h>
#include <errno.h>

int main(void)
{
char *buffer;
buffer = strerror(errno);
printf("Error: %s\n", buffer);
return 0;
}
函数名: strcmpi
功 能: 将一个串与另一个比较, 不管大小写
用 法: int strcmpi(char *str1, char *str2);
程序例:

#include <string.h>
#include <stdio.h>

int main(void)
{
char *buf1 = "BBB", *buf2 = "bbb";
int ptr;

ptr = strcmpi(buf2, buf1);

if (ptr > 0)
printf("buffer 2 is greater than buffer 1\n");

if (ptr < 0)
printf("buffer 2 is less than buffer 1\n");

if (ptr == 0)
printf("buffer 2 equals buffer 1\n");

return 0;
}
函数名: strncmp
功 能: 串比较
用 法: int strncmp(char *str1, char *str2, int maxlen);
程序例:

#include <string.h>
#include <stdio.h>

int main(void)

{
char *buf1 = "aaabbb", *buf2 = "bbbccc", *buf3 = "ccc";
int ptr;

ptr = strncmp(buf2,buf1,3);
if (ptr > 0)
printf("buffer 2 is greater than buffer 1\n");
else
printf("buffer 2 is less than buffer 1\n");

ptr = strncmp(buf2,buf3,3);
if (ptr > 0)
printf("buffer 2 is greater than buffer 3\n");
else
printf("buffer 2 is less than buffer 3\n");

return(0);
}
函数名: strncmpi
功 能: 把串中的一部分与另一串中的一部分比较, 不管大小写
用 法: int strncmpi(char *str1, char *str2);
程序例:

#include <string.h>
#include <stdio.h>

int main(void)
{
char *buf1 = "BBBccc", *buf2 = "bbbccc";
int ptr;

ptr = strncmpi(buf2,buf1,3);

if (ptr > 0)
printf("buffer 2 is greater than buffer 1\n");

if (ptr < 0)
printf("buffer 2 is less than buffer 1\n");

if (ptr == 0)
printf("buffer 2 equals buffer 1\n");

return 0;
}
函数名: strncpy
功 能: 串拷贝
用 法: char *strncpy(char *destin, char *source, int maxlen);
程序例:

#include <stdio.h>
#include <string.h>

int main(void)
{
char string[10];
char *str1 = "abcdefghi";

strncpy(string, str1, 3);
string[3] = '\0';
printf("%s\n", string);
return 0;
}
函数名: strnicmp
功 能: 不注重大小写地比较两个串
用 法: int strnicmp(char *str1, char *str2, unsigned maxlen);
程序例:

#include <string.h>
#include <stdio.h>

int main(void)
{
char *buf1 = "BBBccc", *buf2 = "bbbccc";
int ptr;

ptr = strnicmp(buf2, buf1, 3);

if (ptr > 0)
printf("buffer 2 is greater than buffer 1\n");

if (ptr < 0)
printf("buffer 2 is less than buffer 1\n");

if (ptr == 0)
printf("buffer 2 equals buffer 1\n");

return 0;
}
函数名: strnset
功 能: 将一个串中的所有字符都设为指定字符
用 法: char *strnset(char *str, char ch, unsigned n);
程序例:

#include <stdio.h>
#include <string.h>

int main(void)
{
char *string = "abcdefghijklmnopqrstuvwxyz";
char letter = 'x';

printf("string before strnset: %s\n", string);
strnset(string, letter, 13);
printf("string after strnset: %s\n", string);

return 0;
}
函数名: strpbrk
功 能: 在串中查找给定字符集中的字符
用 法: char *strpbrk(char *str1, char *str2);
程序例:

#include <stdio.h>
#include <string.h>

int main(void)
{
char *string1 = "abcdefghijklmnopqrstuvwxyz";
char *string2 = "onm";
char *ptr;

ptr = strpbrk(string1, string2);

if (ptr)
printf("strpbrk found first character: %c\n", *ptr);
else
printf("strpbrk didn't find character in set\n");

return 0;
}
函数名: strrchr
功 能: 在串中查找指定字符的最后一个出现
用 法: char *strrchr(char *str, char c);
程序例:

#include <string.h>
#include <stdio.h>

int main(void)
{
char string[15];
char *ptr, c = 'r';

strcpy(string, "This is a string");
ptr = strrchr(string, c);
if (ptr)
printf("The character %c is at position: %d\n", c, ptr-string);
else
printf("The character was not found\n");
return 0;
}
函数名: strrev
功 能: 串倒转
用 法: char *strrev(char *str);
程序例:

#include <string.h>
#include <stdio.h>

int main(void)
{
char *forward = "string";

printf("Before strrev(): %s\n", forward);
strrev(forward);
printf("After strrev(): %s\n", forward);
return 0;
}
函数名: strset
功 能: 将一个串中的所有字符都设为指定字符
用 法: char *strset(char *str, char c);
程序例:

#include <stdio.h>
#include <string.h>

int main(void)
{
char string[10] = "123456789";
char symbol = 'c';

printf("Before strset(): %s\n", string);
strset(string, symbol);
printf("After strset(): %s\n", string);
return 0;
}
函数名: strspn
功 能: 在串中查找指定字符集的子集的第一次出现
用 法: int strspn(char *str1, char *str2);
程序例:

#include <stdio.h>
#include <string.h>
#include <alloc.h>

int main(void)
{
char *string1 = "1234567890";
char *string2 = "123DC8";
int length;

length = strspn(string1, string2);
printf("Character where strings differ is at position %d\n", length);
return 0;
}
函数名: strstr
功 能: 在串中查找指定字符串的第一次出现
用 法: char *strstr(char *str1, char *str2);
程序例:

#include <stdio.h>
#include <string.h>

int main(void)
{
char *str1 = "Borland International", *str2 = "nation", *ptr;

ptr = strstr(str1, str2);
printf("The substring is: %s\n", ptr);
return 0;
}
函数名: strtod
功 能: 将字符串转换为double型值
用 法: double strtod(char *str, char **endptr);
程序例:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
char input[80], *endptr;
double value;

printf("Enter a floating point number:");
gets(input);
value = strtod(input, &endptr);
printf("The string is %s the number is %lf\n", input, value);
return 0;
}
函数名: strtok
功 能: 查找由在第二个串中指定的分界符分隔开的单词
用 法: char *strtok(char *str1, char *str2);
程序例:

#include <string.h>
#include <stdio.h>

int main(void)
{
char input[16] = "abc,d";
char *p;

/* strtok places a NULL terminator
in front of the token, if found */
p = strtok(input, ",");
if (p) printf("%s\n", p);

/* A second call to strtok using a NULL
as the first parameter returns a pointer
to the character following the token */
p = strtok(NULL, ",");
if (p) printf("%s\n", p);
return 0;
}
函数名: strtol
功 能: 将串转换为长整数
用 法: long strtol(char *str, char **endptr, int base);
程序例:

#include <stdlib.h>
#include <stdio.h>

int main(void)
{
char *string = "87654321", *endptr;
long lnumber;

/* strtol converts string to long integer */
lnumber = strtol(string, &endptr, 10);
printf("string = %s long = %ld\n", string, lnumber);

return 0;
}
函数名: strupr
功 能: 将串中的小写字母转换为大写字母
用 法: char *strupr(char *str);
程序例:

#include <stdio.h>
#include <string.h>

int main(void)
{
char *string = "abcdefghijklmnopqrstuvwxyz", *ptr;

/* converts string to upper case characters */
ptr = strupr(string);
printf("%s\n", ptr);
return 0;
}
函数名: swab
功 能: 交换字节
用 法: void swab (char *from, char *to, int nbytes);
程序例:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

char source[15] = "rFna koBlrna d";
char target[15];

int main(void)
{
swab(source, target, strlen(source));
printf("This is target: %s\n", target);
return 0;
}

分享到:
评论

相关推荐

    C语言常用数字和字符串转换函数

    C语言常用数字和字符串转换函数,toi 字符串转换成整型数 atol 字符串转换成长整型数 atof 字符串转换成浮点型数 strtol 字符串转换成长整型数 strtoul 字符串转换成无符号长整型数 strtod 字符串转换成浮点数

    C语言字符串处理函数整理版本

    C语言字符串处理函数整理版本,包含字符串基本操作,字符串类型转换、字符检查、输入输出流、输入输出流分割、异常处理等

    C语言字符串处理函数

    几个字符串处理函数增强版 常用需求基本都能完成 已经编译成DLL 函数列表 兼容字符和串 void revstr char str 字符串反转 int substring char res int pos int len char substr 从pos开始取len个字符到substr中 ...

    用C语言实现常用的字符串哈希函数

    用C语言实现常用的字符串哈希函数,比如RSHash、JSHash、PJWHash、FNVHash等

    一个C语言常用字符串操作函数库.zip

    本压缩包"一个C语言常用字符串操作函数库.zip"中可能包含了一系列常用的C语言字符串处理函数的实现,这些函数可以帮助我们更高效、方便地进行字符串的创建、修改、比较和查找等操作。下面将详细解释一些常见的C语言...

    C语言中常用的字符串处理函数

    以下是对给定文件中提到的常用字符串处理函数的详细解析: 1. **`memset`**: 函数原型为`void* memset(void* dest, int c, size_t count);`。此函数用于将`dest`指向的前`count`个字节设置为字符`c`。`dest`必须是...

    C语言字符串操作函数.docx

    ### C语言字符串操作函数知识点详解 #### 一、strtok() — 字符串分割函数 - **功能**:`strtok()` 函数用于将一个字符串按照指定的分隔符分割成多个子字符串,并返回第一个子字符串。 - **语法**: ```c char *...

    C语言中字符串处理函数介绍

    以下是一些基本且常用的字符串处理函数的介绍和说明: 1. puts函数:这个函数的主要作用是将一个字符串输出到终端。其基本的使用形式为`puts(字符串组)`。使用时,只需将字符串作为参数传给`puts`函数,即可将其...

    C语言-字符串函数大全和详解

    以下是一些常用的C语言字符串函数及其详解: 1. **strcpy()**: 用于复制一个字符串到另一个字符串。例如: ```c char str1[50] = "Hello"; char str2[50]; strcpy(str2, str1); ``` 这会将`str1`的内容复制到...

    C语言基础面试题(03-字符串函数).docx

    下面我们将深入探讨一些基于`string.h`库的常用字符串函数,并提供一些问题的解决方案。 1. **字符串函数** - `strlen`: 计算字符串的长度,不包括结束的空字符`\0`。 - `strcpy`: 复制一个字符串到另一个字符串...

    C语言全总字符串函数函数.doc

    本文将详细介绍C语言中涉及字符串操作的几个关键函数:stpcpy、strcat、strchr、strcmp以及一个非标准但常用的函数strncmpi。 1. **stpcpy函数** - **功能**:stpcpy函数用于将一个字符串完全复制到另一个字符串的...

    C语言字符串函数大全(包含示例)

    C语言字符串函数大全 C语言字符串函数大全是指C语言中用于处理字符串的函数集合。这些函数可以对字符串进行各种操作,如拷贝、拼接、查找、比较等。 1. stpcpy函数: stpcpy函数的作用是将一个字符串拷贝到另一个...

    C语言浮点数转字符串_C语言浮点数字符串_浮点数转换_

    在C语言中,将浮点数转换为字符串是一项常见的任务,尤其在需要将数值数据输出到文件或屏幕上时。这个过程通常涉及到`printf`函数家族的使用,它们能够按照指定的格式将各种类型的数据转化为可读的字符串。本文将...

    c语言字符串函数大全

    c语言字符串函数大全, 字符串处理相关的常用函数集合。

    关于C语言的字符串总结

    C语言中提供了多种字符串操作函数,包括字符串拷贝、字符串拼接、字符串比较、字符串查找等。这些函数可以大大简化字符串操作的代码量和复杂度。 C语言中的字符串是具有多种定义方式和操作方式的特殊字符数组。理解...

    C语言字符串操作函数.doc

    C语言字符串操作函数 C语言字符串操作函数是一组强大且实用的函数,用于处理和操作字符串。这些函数在C语言编程中非常常用,掌握这些函数可以提高编程效率和质量。本章将详细介绍C语言字符串操作函数的使用方法和...

    经典C语言字符串函数大全 为学好C语言打下坚实基础

    ### 经典C语言字符串函数大全 ...以上就是关于C语言中几个常用字符串函数的介绍及示例代码。掌握这些函数不仅能帮助你在实际开发中更加灵活地处理字符串,还能提高代码的效率和可读性。希望本文能对你有所帮助!

    C语言中字符串的处理函数大全

    ### C语言中字符串的处理函数大全 ...本文介绍了C语言中常用的字符串处理函数及其用法,并通过示例代码进行了展示。熟练掌握这些函数将有助于提高C语言编程的效率和质量。希望本文能够为学习C语言的朋友提供帮助。

    常用字符串函数_C语言

    以下是一些常用的字符串函数及其详细说明: 1. **bcmp**: - 功能:`bcmp` 函数用于比较两个指定的字符串(s1 和 s2)的前n个字节是否相等。它返回一个整数值,若两个字符串完全相同,则返回0;否则返回非0值,...

Global site tag (gtag.js) - Google Analytics