1. #include <iostream>
  2. #include <assert.h>
  3. using namespace std;
  4. //模拟实现strcmp函数。
  5. bool my_strcmp(const char *str1,const char *str2)
  6. {
  7. assert(str1!=NULL && str2!=NULL);
  8. const char *p = str1;
  9. const char *q = str2;
  10. while (*p != '\0' && *q != '\0' && *p == *q)
  11. {
  12. p++;
  13. q++;
  14. }
  15. return (*p - *q)!=0;
  16. }
  17. int main()
  18. {
  19. cout << my_strcmp("liwu", "liu") << endl;
  20. return 0;
  21. }
  22. #include <iostream>
  23. #include <assert.h>
  24. using namespace std;
  25. //库函数memcopy的实现。
  26. char *my_memcopy(char *dist, const char *src, int len)
  27. {
  28. assert(dist != NULL && src != NULL);
  29. char *p = dist;
  30. int n = len>(strlen(src)+1) ?
  31. strlen(src)+1 : len;
  32. while (n-->0)
  33. {
  34. *dist++ = *src++;
  35. }
  36. return p;
  37. }
  38. int main()
  39. {
  40. char s1[20] = "1234";
  41. my_memcopy(s1,"liuhuiyan",2);
  42. cout << s1 << endl;
  43. }
  44. #include <iostream>
  45. #include <assert.h>
  46. using namespace std;
  47. char* my_memove(char *dist,const char* src,int len)
  48. {
  49. assert(dist!=NULL && src!=NULL);
  50. char *p = dist;
  51. const char *q = src;
  52. int n = len>(strlen(src) + 1) ? strlen(src) + 1 : len;
  53. if (p <= q || q+n<=p)
  54. {
  55. while (n-- > 0)
  56. {
  57. *p++ = *q++;
  58. }
  59. }
  60. else
  61. {
  62. p += n-1;
  63. q += n-1;
  64. while (n-- > 0)
  65. {
  66. *p-- = *q--;
  67. }
  68. }
  69. return dist;
  70. }
  71. int main()
  72. {
  73. char s1[] = "liu hui yan";
  74. char s2[] = "123 456";
  75. cout << my_memove(s1, s2, 6) << endl;
  76. return 0;
  77. }
  78. #include <iostream>
  79. using namespace std;
  80. //一个字符串“student a am i”,现要求将这个字符串改动为“i am a student”。
  81. void exchange(char *p1,char *p2)
  82. {
  83. char temp;
  84. while (p1 < p2)
  85. {
  86. temp = *p1;
  87. *p1 = *p2;
  88. *p2 = temp;
  89. p1++;
  90. p2--;
  91. }
  92. }
  93. char* my_exchange(char *src)
  94. {
  95. char *p = src;
  96. char *q = src;
  97. while (*p != '\0')
  98. {
  99. while (*p != ' ' && *p!='\0')
  100. {
  101. p++;
  102. }
  103. exchange(q,p-1);
  104. if (*p == '\0')break;
  105. p++;
  106. q = p;
  107. }
  108. exchange(src,p-1);
  109. return src;
  110. }
  111. int main()
  112. {
  113. char s[] = "student a am i";
  114. cout << my_exchange(s) << endl;
  115. }
  116. //字符串打印数字。
  117. #include <iostream>
  118. #include <assert.h>
  119. using namespace std;
  120. int my_int(const char *str)
  121. {
  122. assert(str!=NULL);
  123. int count = 0;
  124. while (*str != '\0')
  125. {
  126. count = (count * 10 + *str - '0');
  127. str++;
  128. }
  129. return count;
  130. }
  131. int main()
  132. {
  133. char s[] = "12345";
  134. cout << my_int(s) << endl;
  135. return 0;
  136. }
  1. #include <iostream>
  2. using namespace std;
  3. char str[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
  4. //输入数字1234,打印对应的字符串。
  5. void Printf(int x)
  6. {
  7. if (x==0)return;
  8. else
  9. {
  10. Printf(x / 10);
  11. cout << str[x % 10] << endl;
  12. }
  13. }
  14. int main()
  15. {
  16. Printf(1234);
  17. return 0;
  18. }

C++字符串操作二的更多相关文章

  1. python 字符串操作二 内建函数

    一.查看字符串的内建函数 >>> dir(str) ['__add__', '__class__', '__contains__', '__delattr__', '__dir__' ...

  2. [Redis-CentOS7]Redis字符串操作(二)

    登录Redis # redis-cli 127.0.0.1:6379> 添加字符串 EX 超期时间60s 127.0.0.1:6379> set username 'leoshi' OK ...

  3. 【二】php 字符串操作及三大流程控制

    字符串操作: trim:去除字符串开始位置和结束位置的空格 ltrim:去除开始处的空格 rtrim:去除结束处的空格 strtoupper:将字符串转换为大写 strtolower:将字符串转换为小 ...

  4. python基础(二)-- 列表、字典、集合、字符串操作

    4.列表: 基本操作: 索引 切片 追加 删除 长度 切片 循环 包含 import copy i=0 #persons=['dailaoban','xiekeng',['age',100,50],' ...

  5. java 字符串操作和日期操作

    一.字符串操作 创建字符串 String s2 = new String("Hello World"); String s1 = "Hello World"; ...

  6. C语言字符串操作总结大全

    1)字符串操作 strcpy(p, p1)  复制字符串  函数原型strncpy(p, p1, n)   复制指定长度字符串  函数原型strcat(p, p1)   附加字符串  函数原型strn ...

  7. c# 字符串操作

    一.字符串操作 //字符串转数组 string mystring="this is a string" char[] mychars=mystring.ToCharArray(); ...

  8. C语言字符串操作总结大全(超详细)

    本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作  strcpy(p, p1) 复制字符串  strncpy(p, p1, n) 复制指定长度字符串  strcat( ...

  9. linux shell 字符串操作

    转:http://justcoding.iteye.com/blog/1963463 在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作 ...

随机推荐

  1. 【转】UML中的几种关系详细解析

    UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现 类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2) 在系统中, ...

  2. Thinkphp5 PDO操作mysql预处理中文字段出错问题

    Thinkphp5手册上建议不用中文表明和中文字段名 今天发现中文字出问题的地方了 $pdo = new PDO('mysql:host=localhost;dbname=xsfm_master', ...

  3. 【Luogu】P2389电脑班的裁员(DP)

    题目链接 sbt交了三遍才过是我的耻辱…… 就是设f[i][j]搞个三重循环DP一下,以上. #include<cstdio> #include<cstdlib> #inclu ...

  4. 搜索引擎快捷导航:一个简单的chrome插件(教程)

    一.如何通过练习来提高学习新框架的最好姿势是:基于现有的业务来学习.即从工作中学习,从实践中学.但是,如果一直只使用新的框架来重写旧的业务,成长也会趋近于0.第一次,使用新框架时收获可能颇丰:第二次, ...

  5. poj 2079 Triangle

    Triangle Time Limit: 3000MS   Memory Limit: 30000K Total Submissions: 9835   Accepted: 2951 Descript ...

  6. JavaScript基础深入之----参数传递的分析与总结

    JS的数值类型是分为两类:基本数据类型和引用数据类型. 基本类型占据的内存栈空间,引用类型被保存在堆空间.引用类型赋值的变量也是被保存在栈空间的,它的作用类似于电视遥控器,负责操作堆空间内指向的对象. ...

  7. 【dll】关于__declspec的简记,由两个单词缩写而来!(转)

    关于declspec的一点说明 我遇到这个单词总觉得记不住,时间一长就忘了.今天在复习dll的时候又遇到了这个单词,我感觉应该是两个单词的缩写,但又不敢确定,特地发帖网上求助,得到两位高手的帮助.下面 ...

  8. MIPS中的异常处理和系统调用【转】

    转自:http://blog.csdn.net/jasonchen_gbd/article/details/44044091 权声明:本文为博主原创文章,转载请附上原博链接. 异常入口 系统调用是用户 ...

  9. 16深入理解C指针之---迷途指针

    一.若程序中存在迷途指针,轻则导致程序退出,重则使程序出现重大逻辑错误 1.定义:内存已释放,指针依旧指向原始内存,这种指针就是迷途指针 2.迷途指针和指针别名: 1).指针依旧指向已释放的内存,无法 ...

  10. linux 中信号量

    ctrl-c 发送 SIGINT 信号给前台进程组中的所有进程.常用于终止正在运行的程序.ctrl-z 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程.ctrl-d 不是发送信 ...