2013级C++第17周项目【项目2-用指针玩字符串】--之任意删除字符串的字符
来源:互联网 发布:linux snmp 无法启动 编辑:程序博客网 时间:2024/06/07 20:45
/** 程序的版权和版本声明部分* Copyright (c)2013, 在校学生* All rightsreserved.* 文件名称: 项目2.cpp* 作 者:刘旺* 完成日期:2014年3月13日* 版本号: v1.0** 输入描述:* 问题描述:指针是神奇的,指向整型的指针int *p1,可以操作整型数组int a[];指向字符型的指针char *p2,* 可以操作字符数组(字符串)char str[];指向指针的指针可以操作二维数组。更灵活的是,在函数* 的传递中,指针、数组名在一定程度上可以互换。去除字符串str中的特定字符c(如空格),* 结果仍保存到原字符串中.* 程序输出:* 问题分析:*/#include <iostream>using namespace std ;void adelchar(char str[], const char c) //数组方法{ int i=0 ; int j = 0 ; char str2[20] ; while(str[i]!='\0') { if(str[i]!=c) { str2[j] = str[i] ; j++ ; } i++ ; } str2[j] = '\0' ; //注意这个代表字符串的结束标志一定不能少 i = 0 ; while(str2[i]!='\0') { str[i] = str2[i] ; i++ ; } str[i] = '\0' ;}void pdelchar(char *str, const char c) //指针方法{ int i=0 ; int j = 0 ; char str2[20] ; while(*(str+i)!='\0') { if(*(str+i)!=c) { str2[j] = *(str+i) ; j++ ; } i++ ; } str2[j] = '\0' ; i = 0 ; while(str2[i]!='\0') { *(str+i) = str2[i] ; i++ ; } *(str+i) = '\0' ;}int main(){ cout << "数组方法:" << endl ; char str[20] = "I am liu wang !" ; char c,s ; cout << "原字符串: str=" << str << endl ; cout << "请输入您想删除的字符:" ; cin.get(c) ; adelchar(str,c) ; cout << "去" <<c << "后的字符串:" << str << endl ; getchar() ; //用来吸收回车 cout << "指针方法:" << endl ; char str2[20] = "I like C++ !" ; cout << "原字符串: str2=" << str2 << endl ; cout << "请输入您想删除的字符:" ; cin.get(s) ; pdelchar(str2,s) ; cout << "去" << s << "后的字符串:" << str2 << endl ; return 0 ;}
我觉得这道题比较有意思,我记得上学期我学习c的时候经常忘记再修改后的字符串后加'\0',这次又遇到个问题我发现每当我删除第一个字符串的字符数后程序就结束了,我无法在输入字符删除第二个字符串的字符,后来我仔细想了想程序运行过程发现经过实践发现是因为回车字符被cin.get()获取了,并且我发现不能用"cin>>"来输入字符然后删除字符,要用get()。因为在我调试程序的过程中发现如果用cin输入字符就无法删除句子中的‘空格字符’。
0 0
- 2013级C++第17周项目【项目2-用指针玩字符串】--之任意删除字符串的字符
- C++第17周项目2——用指针玩字符串(2)删除字符
- 第16周项目2-用指针玩字符串(2.删除字符数组做形参)
- 2013级C++第17周项目【项目2-用指针玩字符串】之测量字符串长
- 2013级C++第17周项目【项目2-用指针玩字符串】之字符串比较大小
- 第16周项目2-用指针玩字符串(5)删除字符串前的空格
- 第16周项目2-用指针玩字符串(去除特定字符,用指针做形参)
- 第十六周项目二:用指针玩字符串(2):去除字符串str中的特定字符c
- 第16周项目2-用指针玩字符串(去除特定字符)
- 第16周项目2-用指针玩转字符串-(2.1)去除特定字符
- 第16周项目2-用指针玩转字符串-(2.2)去除特定字符
- 第十七周项目2-用指针玩字符串(删除)
- 第16周项目2 用指针玩字符串2
- 第16周项目2(4)-用指针玩字符串
- 第16周项目2(5)-用指针玩字符串
- 第16周项目2(6)-用指针玩字符串
- 第16周项目2(7)-用指针玩字符串
- 第16周项目2-用指针玩字符串
- 黑马程序员_基础加强01
- 分布式服务框架 Zookeeper -- 管理分布式环境中的数据
- 网络插座Socket
- SAP WORKFLOW
- windows 环境下 Shellcode 总结
- 2013级C++第17周项目【项目2-用指针玩字符串】--之任意删除字符串的字符
- PLSQL Developer连接不上Win7 64位系统下安装的Oracle11g64位的解决办法
- Canvas中绘制文本的FontMetrics
- 黑马程序员_基础加强02
- hhaslalklkaljaflkjakljfkljflkjaflkjfakjafljkfaljkalkjaflkjfalkjafjklafjlkafsjklsafkljsaflkjasf
- acegi security实践教程—把用户信息存放到数据库
- H264参数语法: SPS、PPS
- MongoDB启动脚本~~
- 网络编程基础知识(一)