strcpyn.cpp

来自「VC网络程序设计实例导航配套代码」· C++ 代码 · 共 37 行

CPP
37
字号
/*
	strcpyn.cpp
	Copia con controllo sulla dimensione (CRT).
	Luca Piergentili, 15/05/98
	lpiergentili@yahoo.com
	http://www.geocities.com/lpiergentili/
*/
#include "env.h"
#include "pragma.h"
#include <string.h>
#include "strcpyn.h"

/*
	strcpyn()

	Passare sizeof, copia sizeof - 1, dimensionare quindi il buffer con la quantita' + 1:
	char s1[DIM+1];
	char* p = "...";
	strcpyn(s1,p,DIM+1); -> s1[DIM+1] = 0
*/
char* strcpyn(char* s1,const char *s2,int size)
{
	if(!s1)
		return(NULL);

	if(!s2 || !*s2)
	{
		memset(s1,'\0',size);
		return(NULL);
	}

	char* p = strncpy(s1,s2,size);
	s1[size-1] = '\0';

	return(p);
}

⌨️ 快捷键说明

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