strncpy()函数用来拷贝字符串,第三个参数指明要拷贝多少个字符,当遇到空字符时或者拷贝了指定个数的字符时,则停止拷贝。
示例
//Visual Studio中加上这句才可以使用scanf()
//否则只能使用scanf_s()
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdbool.h>
//引入字符串函数string.h
//一些ANSI之前的系统使用strings.h头文件,而
//有些系统可能根本没有字符串头文件。
#include <string.h>
#define SIZE 40
#define WORDS "abcd"
//argc: 参数个数 argv[]: 参数数组
int main(int argc, char *argv[])
{
const char * orig = WORDS;
char copy[SIZE] = "Be the best that you can be.";
char * ps;
puts(orig);
puts(copy);
//将orig拷贝到copy的第7个位置并覆盖之后的字符
//ps指向copy的7个索引
//strlen()返回的字符个数不包括空字符
//第3个参数指定要拷贝多少个字符
ps = strncpy(copy + 7, orig, strlen(orig));
puts(copy);
puts(ps);
system("pause");
return 0;
}
运行测试