strncpy:复制字符串的子串
来源:互联网 发布:mac 待机快捷键 编辑:程序博客网 时间:2024/06/06 06:35
利用标准库函数strncpy(),可以将一字符串的一部分拷贝到另一个字符串中。strncpy()函数有3个参数:第一个参数是目录字符串;第二个参 数是源字符串;第三个参数是一个整数,代表要从源字符串拷贝到目标字符串中的字符数。以下是一个用strncpy()函数拷贝字符串的一部分的例子:
#include<stdio.h>
#include<stdlib.h>
#include <string.h>
int main(int argc, char **argv)
{
char buf[20]="6.0 1257487794/n";
char da[5]={0};
char num[15]={0};
int i=0, j=0;
strncpy(da, buf, 3);
strncpy(num, buf+(strlen(buf)-11) , 10);
printf("buf= %s, da= %s, num= %s/n", buf, da, num);
return 1;
}
在上例中,第一次调用strncpy()函数时,它将源字符串的头3个字符拷贝到da中。第二次调用strncpy()函数时,它将源字符串的最后10个字符拷贝到num中,其实现过程为:
(1)用strlen()函数计算出buf字符串的长度,即strlen(buf)。
(2)将buf的长度减去11(10是将要拷贝的字符数再加中间的‘ ’字符),得出buf中剩余的字符数,即pstrlen(buf)-11。
(3)将strlen(buf)-11和buf的地址相加,得出指向buf中倒数第10个字符的地址的指针, 即buf+(strlen(buf)-11)。这个指针就是strncpy()函数的第二个参数。
(4)在strncpy()函数的第三个参数中指定要拷贝的字符是10。
打印输出如下所示:
wangwei@wangwei-desktop:~/work/data_check$ ./test
buf= 6.0 1257487794
, da= 6.0, num= 1257487794
- strncpy:复制字符串的子串
- strncpy:复制源字符串的前n位,到另一个字符串中
- 字符串的比较、复制、连接、截子串、判断子串
- C语言strncpy()函数:复制字符串的前n个字符
- 字符串复制函数——strcpy,strncpy和strlcpy
- string型字符串的替换-strncpy
- strncpy:字串复制
- 字符串的一些基本操作,复制,长度,子串查找,单词反转,比较,字符串反转,删除指定字符。
- C语言字符串相关库函数的实现strcpy、memcpy、strncpy、strcat、strncpy、memset、memcpy、strcpy
- exec函数族可以在进程中执行另外一个程序,字符串复制函数strncpy
- 字符串函数strncpy
- strncpy、strncat处理字符串
- strncpy字符串拷贝函数
- 访问字符串的子串
- 字符串子串的插入
- 字符串子串的个数
- 字符串子串的查找
- 字符串子串的查找
- C#中 类的成员
- 索引器
- 委托事件
- C++中测数组的长度
- strstr:在字符串中寻找子字符串
- strncpy:复制字符串的子串
- C++练习题
- C语言中结构体指针的定义和引用
- 用if随机生成十个数排序
- 我的命名规则
- 接口
- 【转载】类和接口的区别
- 抽象类中的 虚成员和抽象成员的比较
- C#接口和类的区别