字符串拷贝函数
头文件:#include<string.h>
函数的声明:char* strcpy(char *dest, const char *src);
函数的说明:拷贝src指向的字符串到dest指针指向的内存中,\0也会拷贝。
函数的返回值:目的内存的地址。
注意:在使用此函数的时候,必须保证dest指向的内存空间足够大,否则会出现内存污染。
函数的声明: char* strncpy(char* dest,const char* src,size_t n);
函数的说明:将src指向的字符串前n个字节,拷贝到dest指向的内存中
返回值:目的内存的首地址
注意:strncpy不拷贝\0 , 如果n大于src指向的字符串中的字符个数,则在dest后面填充n-strlen(src)个\0。
举例1:
#pragma warning(disable:4996)
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include <string.h>
int main()
{
char buf = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
strncpy(buf, "helloworld", 5); // helloaaaaaaaaaaaaaaaaaaaaaaaa
printf("%s\n", buf);
return 0;
}
结果为helloaaaaaaaaaaaaaaaaaaaaaaaa
举例2:
#pragma warning(disable:4996)
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include <string.h>
int main()
{
int len, i;
char buf = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
len = strlen(buf);
strncpy(buf, "helloworld", 15);
for (i = 0; i < len; i++)
{
printf("%c", buf);
}
printf("\n"); // helloworldaaaaaaaaaaaaaaaaaaaaaaa
return 0;
}
例2验证了:如果n大于src指向的字符串中的字符个数,则在dest后面填充n-strlen(src)个\0。
字符串拷贝函数很不错的使用技巧 在使用这些函数的时候,必须保证dest指向的内存空间足够大
字符串拷贝函数非常方便快速开发
页:
[1]