zoukankan      html  css  js  c++  java
  • strncpy()函数【转】

    C/C++中的strncpy()函数功能为将第source串的前n个字符拷贝到destination串,原型为:

    char * strncpy ( char * destination, const char * source, size_t num );

    各个参数的含义显而易见,其中返回值与destination相同。


    这个函数会出现三种情况:
    1、num<source串的长度(包含最后的''字符):那么该函数将会拷贝source的前num个字符到destination串中(不会自动为destination串加上结尾的''字符);
    2、num=source串的长度(包含最后的''字符):那么该函数将会拷贝source的全部字符到destination串中(包括source串结尾的''字符);
    3、num>source串的长度(包含最后的''字符):那么该函数将会拷贝source的全部字符到destination串中(包括source串结尾的''字符),并且在destination串的结尾继续加上''字符,直到拷贝的字符总个数等于num为止。

     

    [例]

    设有如下声明,注意此时source串的长度为6(包含最后的''字符):

    char destination[] = "********************"; // destination串为: "********************0"
    cosnt char *source = "-----";                // source串为:      "-----0"

    情形1:如果执行如下语句:

    strncpy( destination, source, 5 );

    那么destination的前5个字符将会被'-'替换,即(以'0'表示''字符):

    destination串为: "-----***************0"

    情形2:如果执行如下语句:

    strncpy( destination, source, 6 );

    那么destination的前6个字符将会被source的前6个字符替换,即(以'0'表示''字符):

    destination串为: "-----0**************0"

    情形3:如果执行如下语句:

    strncpy( destination, source, 10 );

    那么destination的前6个字符将会被source的前6个字符替换,并且会在后面补4个'',即(以'0'表示''字符):

    destination串为: "-----00000**********0"

    转自:https://www.cnblogs.com/unimous/archive/2012/03/05/2381151.html

    您的资助是我最大的动力!
    金额随意,欢迎来赏!

  • 相关阅读:
    病毒分裂(分治)
    【CQYZ-vijos】P1333 舞伴的搭配(贪心算法)
    算法系列之图--拓扑排序
    算法系列之图--DFS
    算法系列之图--BFS
    python读取txt里的json文件,存到excel,例子2
    python读取txt里的json文件,存到excel,例子1
    python读取excel数据做分类统计
    python datetime中timedelta的用法
    bootstrap用法小计
  • 原文地址:https://www.cnblogs.com/Corphish/p/9228445.html
Copyright © 2011-2022 走看看