zoukankan      html  css  js  c++  java
  • strcpy,strncpy,strcmp,strncmp,strcat,strlen..还有啥?

    呃,鄙视多了就得学会笔试

      1 #include<iostream>
    2 #include<cstdlib>
    3 #include<cassert>
    4 #include"strh.h"
    5 using namespace std;
    6
    7 int main()
    8 {
    9 char str1[] = "hello";
    10 char str2[] = "word";
    11
    12 cout << strcat1(str1, str2) << endl;
    13 cout << strcpy1(str1, str2) << endl;
    14
    15 char str3[] = "hello";
    16 cout << strcmp1(str3, str2) << endl;
    17 cout << strlen1(str3) << endl;
    18
    19 char str4[] = "maxwell house";
    20 char str5[] = "maxwellhouse!";
    21 cout << strncmp1(str4, str5, 9) << endl;
    22
    23 char str6[] = "shit";
    24 char str7[] = "fuck you!";
    25 cout << strncpy(str6, str7, 6) << endl;
    26
    27
    28 system("pause");
    29 return 0;
    30 }
    31
    32 char *strcat1(char *strDest, const char *strSrc)
    33 {
    34 char *address = strDest;
    35
    36 assert(strDest != NULL && strSrc != NULL);
    37
    38 while(*strDest != '\0')
    39 {
    40 strDest ++;
    41 }
    42
    43 while(*strSrc != '\0')
    44 {
    45 *strDest = *strSrc;
    46 strDest ++;
    47 strSrc ++;
    48 }
    49
    50 *strDest = '\0';
    51 return address;
    52 }
    53
    54 char *strcpy1(char *strDest, const char *strSrc)
    55 {
    56 char *address = strDest;
    57
    58 assert(strDest != NULL && strSrc != NULL);
    59
    60 while(*strSrc != '\0')
    61 {
    62 *strDest ++ = *strSrc ++;
    63 }
    64
    65 *strDest = '\0';
    66
    67 return address;
    68 }
    69
    70 int strcmp1(const char *str1, const char *str2)
    71 {
    72 assert(str1 != NULL && str2 != NULL);
    73
    74 while((*str1 && *str2) && (*str1 == *str2))
    75 {
    76 str1 ++;
    77 str2 ++;
    78 }
    79
    80 return *str1 - *str2;
    81 }
    82
    83 int strlen1(const char *str)
    84 {
    85 int len = 0;
    86
    87 assert( str != NULL);
    88
    89 while(*str != 0)
    90 {
    91 str ++;
    92 len ++;
    93 }
    94
    95 return len;
    96 }
    97
    98 int strncmp1(const char *str1, const char *str2, size_t n)
    99 {
    100 if(n < 0)
    101 return 0;
    102 assert(str1 != NULL && str2 != NULL);
    103
    104 while((n--) && (*str1 && *str2) && (*str1 == *str2))
    105 {
    106 str1 ++;
    107 str2 ++;
    108 }
    109
    110 return *str1 - *str2;
    111 }
    112
    113 char *strncpy(char *strDest, const char *strSrc, size_t n)
    114 {
    115 assert(strSrc != NULL && strDest != NULL);
    116
    117 char *address = strDest;
    118
    119 while((n--) && (*strSrc != '\0'))
    120 {
    121 *strDest ++ = *strSrc ++;
    122 }
    123
    124 *strDest = '\0';
    125
    126 return address;
    127
    128 }



  • 相关阅读:
    网络编程IO模型
    网络编程四层模型
    签到赛--我打的
    签到赛--ipip
    初见RCE(远程命令/代码执行漏洞)
    [ACTF2020 新生赛]Include
    文件上传+[SUCTF 2019]CheckIn
    古典密码,背包密码,RSA
    第八章小结
    第七章小结
  • 原文地址:https://www.cnblogs.com/mrpomelo/p/2243588.html
Copyright © 2011-2022 走看看