strnmov.c

来自「Many C samples. It is a good sample for 」· C语言 代码 · 共 30 行

C
30
字号
/*  File   : strnmov.c
    Author : Richard A. O'Keefe.
    Updated: 20 April 1984
    Defines: strnmov()

    strnmov(dst, src, n) moves up to n characters of  src  to  dst.   It
    always  moves  exactly n characters to dst; if src is shorter than n
    characters dst will be extended on the right with NULs, while if src
    is longer than n characters dst will be a truncated version  of  src
    and  will  not  have  a closing NUL.  The result is a pointer to the
    first NUL in dst, or is dst+n if dst was truncated.
*/

#include "strings.h"

char *strnmov(dst, src, n)
    register char *dst, *src;
    register int n;
    {
	while (--n >= 0) {
	    if (!(*dst++ = *src++)) {
		src = dst-1;
		while (--n >= 0) *dst++ = NUL;
		return src;
	    }
	}
	return dst;
    }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?