【Linux c】字符串的截取

对字符串的截取:

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

//截断有特殊符号的字符串,并取后段
void cutString_A(char* string) {
    char *p_start = string;
    char newString[32];

    while(*p_start) {
        if (*p_start == '.') {
            p_start++;
            strncpy(newString, p_start, sizeof(newString));
            break;
        }
        p_start++;
    }

    printf("newString = %s\n", newString);
}

//截断有特殊符号的字符串,并取前段
void cutString_B(char* string) {
    char *p_start = string;
    char newString[32];
    int num = 0;

    while(*p_start) {
        if (*p_start == '.') 
            break;
        p_start++;
        num ++;
    }

    strncpy(newString, string, num);
    printf("newString = %s\n", newString);
}

//截取字符串的前n个字符
void cutString_C(char* string, int num) {
    char *p_start = string;
    char newString[32];

    strncpy(newString, p_start, num);
    printf("newString = %s\n", newString);
}

//截取字符串的后n个字符
void cutString_D(char* string, int num) {
    char *p_start = string;
    char newString[32];

    int len = strlen(string);
    strncpy(newString, p_start + (len - num), sizeof(newString));
    
    printf("newString = %s\n", newString);
}


int main(void)
{
    char string[32] = "hello.txt";
    cutString_A(string);
    cutString_B(string);
    cutString_C(string, 5);
    cutString_D(string, 5);

    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值