练习5-5 实现库函数s t r n c p y、s t r n c a t和s t r n c m p,它们最多对变元字符串的前 n个字符进行 操作。例如,函数strncpy(s, t, n)将t所

本文介绍如何实现C语言中的库函数strncpy、strncat和strncmp,这些函数用于处理字符串的前n个字符操作,如复制、连接和比较。
摘要由CSDN通过智能技术生成
/* 实现库函数strmcpy、strmcat和strmcmp,它们最多对变元字符串的前 m个字符进行
操作。例如,函数strmcpy(s, t, m)将t所指向字符串中最多前m个字符复制到s所指向的字符数组中。 */

#include <stdio.h>
/* strmcpy:将字符串t中的前m个字符复制到字符串s中 */
void strmcpy( char *s , char *t , int m ){
    char *a = s;
    char *b = t;//记录指针s,t的初始位置

    for (s = a , t = b ; t <= b + m ; t++,s++){//将指针从初始位置后移,直到移动n个字符
        *s  = *t;
    }
}
/* strmcat:将字符串t中的前m个字符接到字符串s后面 */
void strmcat ( char *s , char* t ,int m){
    char *a = s;
    char *b = t;//记录指针s,t的初始位置

    while ( *s )
     s++; //找到s的结束位置
    
    for ( t = b ; t <= b+m ; s++, t++){//将t指向的字符接到s后面,直到t移动从初始位置移动够m个字符
        *s = *t;
    }

}
/* strmcmp:将字符串t中的前m个字符接和s中的前m个字符进行比较 */
int strmcmp ( char* s , char *t , int m){
    char *a = s;
    char *b = t;//记录指针s,t的初始位置

    while ( s < a+m && t < b+m ){
        if ( *s != *t ){
            r
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值