面试基础_01字符串反转操作
2014-09-30 11:22
302 查看
一 字符串按字节反转(this is a student ==> tneduts a si siht)
二 字符串按单词反转[b](this is a student ==> student a is this)[/b]
/************************************************************************* > File Name: testStringByte.h > Author: qiaozp > Mail: qiaozongpeng@163.com > Created Time: 2014-9-30 11:21:15 > Attention: this is a student ===> tneduts a si siht ************************************************************************/ #include <iostream> #include <string.h> using namespace std; void reverseByByte(char* p, char* e) { //方法就是按位赋值到目的字符串 int i = 0; int size = strlen(p); e[size] = '\0'; while((--size) >= 0) { e[i++] = p[size]; } } int main() { char* p = "you are a student!"; char e[20] = {0}; reverseByByte(p, e); cout << e << endl; }
二 字符串按单词反转[b](this is a student ==> student a is this)[/b]
/************************************************************************* > File Name: testStringWord.h > Author: qiaozp > Mail: qiaozongpeng@163.com > Created Time: 2014-9-30 11:21:15 > Attention: this is a student ===> student a is this ************************************************************************/ #include <iostream> #include <string.h> using namespace std; void reverseByWord(char* p, char* e) { //方法就是记录每个整的单词的开始和结束位置,然后拷贝到目标字符串 int len = strlen(p); int end = len; int start = 0; memset(e, 0, len); while(len > 0) { end = len; while ((p[len - 1] != ' ') && (len > 0)) { --len; }; start = len--; strncpy(e + strlen(e), p + start, end - start); e[strlen(e)] = ' '; } e[strlen(e) - 1] = '\0'; //多出一个空格 谢谢二楼的提醒 } int main() { char* p = "you are a student!"; char e[20] = {0}; reverseByWord(p, e); cout << e << endl; }
相关文章推荐
- 面试的基础_01字符串反向操作
- java-基础-String操作字符串反转
- 【Java编程基础】01.Java中的String类以及字符串的常见操作
- mysql基础知识理解和sql题讲解分析面试实战(四)之函数讲解和字符串的操作
- java基础——字符串中的反转Reverse问题(面试必备)
- C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文
- python基础5--文件操作--字符串读写
- DELPHI基础:字符串、数组操作函数
- 一道微软面试时碰到的,经典的,关于字符串操作的面试题目
- 【面试题目】转贴-字符串反转(不包括某些特殊单词)
- JS对字符串的操作--基础
- 面试-字符串操作
- 笔记081109 基础查询 单行函数 字符串操作 数字操作
- 黑马程序员_学习日记40_605基础加强(自定义泛型、装拆箱、foreach、文件操作、字符串与byte数组转换)
- 反转字符串操作
- C/C++面试程序题(一)——字符串反转、链表反转的递归、非递归实现
- C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文
- 字符串反转操作
- C/C++面试之算法系列--不申请变量和空间反转字符串
- 面试时经常考的------对字符串的操作(一)