有多种,常用的有strncpy()函数、strtok()函数、strstr()函数、memcpy()函数等。
strncpy()函数用于从源字符串中拷贝指定长度的字符串到目标字符串,函数原型如下:
char *strncpy(char *dest, const char *src, size_t n);
其中dest为目标字符串,src为源字符串,n为拷贝的长度。函数的返回值为拷贝后的目标字符串。使用示例如下:
#include<stdio.h> #include<stdio.h> int main(void) { char src[50] = "Hello, world!"; char dest[50]; strncpy(dest, src, 5); printf("dest = %s\n", dest); return 0; }
执行结果如下:
dest = Hello
strtok()函数用于从字符串中分割出子串,函数原型如下:
char *strtok(char *str, const char *delim);
其中str为待分割字符串,delim为分割标志。函数的返回值为分割后的子串,如果没有子串可分割,返回NULL。使用示例如下:
#include<stdio.h> #include<stdio.h> int main(void) { char str[50] = "Hello, world!"; char *p; p = strtok(str, ","); printf("p = %s\n", p); return 0; }
执行结果如下:
p = Hello
strstr()函数用于查找字符串中是否存在指定的子串,函数原型如下:
char *strstr(const char *haystack, const char *needle);
其中haystack为待查找字符串,needle为指定的子串。函数的返回值为查找到的子串,如果没有找到,返回NULL。使用示例如下:
#include<stdio.h> #include<stdio.h> int main(void) { char str[50] = "Hello, world!"; char *p; p = strstr(str, "world"); printf("p = %s\n", p); return 0; }
执行结果如下:
p = world!
memcpy()函数用于从源字符串中拷贝指定长度的字符串到目标字符串,函数原型如下:
void *memcpy(void *dest, const void *src, size_t n);
其中dest为目标字符串,src为源字符串,n为拷贝的长度。函数的返回值为拷贝后的目标字符串。使用示例如下:
#include<stdio.h> #include<stdio.h> int main(void) { char src[50] = "Hello, world!"; char dest[50]; memcpy(dest, src, 5); printf("dest = %s\n", dest); return 0; }
执行结果如下:
dest = Hello
以上就是,以上方法都可以实现字符串截取的功能,可以根据实际需要选择合适的方法进行使用。
本文链接:http://task.lmcjl.com/news/5932.html