关键词

字符串截取

C语言中实现字符串截取的方法

有多种,常用的有strncpy()函数、strtok()函数、strstr()函数、memcpy()函数等。

strncpy()函数

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

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

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

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

展开阅读全文