C89:论常用的字符串函数

Posted k5bg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C89:论常用的字符串函数相关的知识,希望对你有一定的参考价值。

一.简介

 

二.复制字符串

1.strcpy()

头文件:#include <string.h>和#include <stdio.h>

原型声明:char* strcpy(char* dest,const char* src);

 

strcpy是一种C语言的标准库函数,strcpy把含有‘\0‘结束符的字符串复制到另一个地址空间,返回值的类型为char*

//用法
char a[10],b[]="copy";
strcpy(a,b);    //将b中的copy到a中

char *pa=new char[10];
char *pb=b;
strcpy(pa,pb);
delete pa;

 

//C语言标准库函数strcpy的经典实现

#include <assert.h>    //C头文件
#include <cassert>     //C++头文件
char* strcpy(char* des,const char* src)
    char* r=des;
    assert((des!=NULL)&&(src!=NULL));
    while(*source++!=‘\0‘)
        *r++=*source++;
    
    return des;  //从函数中返回函数体内分配的内存是十分危险的,会导致内存泄漏

 

2.strcpy_s()

原型声明:errno_t strcpy_s(char* strDes,size_t num,const char* strSrc);

 

strcpy因为不安全会报警告,所以推荐使用strcpy_s

strcpy_s(pa,10,pb);

 

3.strncpy()

 

三.格式化字符串

1.sprintf()

输出浮点数时,会按要求的或默认的精度进行四舍五入

 

四.剪切字符串

1.strcat()

 

五.字符串比较

1.strcmp()

 

以上是关于C89:论常用的字符串函数的主要内容,如果未能解决你的问题,请参考以下文章

C89:math常用函数

C89:论符号

C89:论结构体/枚举体/联合体的使用

C++03:论常用的类

strncat和strncpy编写安全的字符串复制函数是否有区别?

sort()方法 - 论逐字逐句研究教程的重要性