| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 640 人关注过本帖
标题:[求助]字符串处理方面的问题
只看楼主 加入收藏
kkndkknd01
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-1-18
结帖率:0
收藏
已结贴  问题点数:20 回复次数:12 
[求助]字符串处理方面的问题
#include <stdio.h>  
#include <stdlib.h>
#include <ctype.h>  
#include <iostream>
#include<string.h>
using namespace std;
char escapechar()
{
      int a;
  int i;  
  char* ptr= new char[50];
  char* const str = ptr;
  cout<<"please enter words\n";
  gets(ptr);
  a=strlen(str);
    for(i=0;i<a;i++)
  {
      
      if(str[i]==' ')
          cout<<"\\s";
      else if(str[i]=='\n')
          cout<<"\\n";
      else if(str[i]=='\r')
          cout<<"\\r";
      else if(str[i]=='\t')
          cout<<"\\t";
      else if(isdigit(str[i] ))
          cout<<"\\"<<str[i];
      else
      cout<<str[i];
  }
  delete [] ptr;
  system("pause");
  return 0;  
}
int main ()  
{  
    escapechar();
}  

写了一个小程序,但最后老师要求要用一个string类型的变量输出,我怎么也没办法把escapechar中cout的内容放进去,求各位帮帮忙
搜索更多相关主题的帖子: namespace include please 字符串 
2013-01-22 07:39
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:4 
如果要说错误,实在多得是一无是处
1. 一大把用不到的头文件,还不是C++格式
2. escapechar()竟然包含了输入处理和输出,你是在烧杂烩汤呀
3. 你这个escapechar()返回char,可以算着奇葩一枚
4. 还没用到的变量就定义到头部,连C语言现在都反对这么做
5. new个char[50],然后再把它删除。你以为自己在用烂逼的Java还是烂逼的.Net?
6. 定义个和ptr一样的str干什么?难道是做克隆人
7. gets(ptr) 我不反对你在C++用C函数,但最好能保持前后文风格一致,不要一半脸擦白,一半脸擦红。当然,这不是主要的,主要的是你干嘛偏偏选个已经被C11废弃的C函数?
8. gets(ptr) 能读进\r和\n吗?那你后面的for中处理\r和\n是想做鬼脸给瞎子看?
9. 我告诉你一个地球人都知道的秘密,strlen的返回类型是size_t,sizeof表达式的类型也是size_t,因为它们是不可能为负的,所以不能选个可以为负的类型
10. system("pause"); --- 我已经懒得对system("pause")的人再说些什么
2013-01-22 08:46
kkndkknd01
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-1-18
收藏
得分:0 
回复 2楼 rjsp
新手这么招人恨啊,真不好意思
2013-01-22 08:49
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:4 
楼主可以去查查 stringstream 的东西,也许是改造你这个程序最省事的方法。
2013-01-22 12:19
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:4 
回复 2楼 rjsp
system("pause");有什么害处吗?

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2013-01-23 17:12
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:4 
以下是引用waterstar在2013-1-23 17:12:03的发言:

system("pause");有什么害处吗?

打倒微软!!!

授人以渔,不授人以鱼。
2013-01-23 17:22
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:0 
回复 6楼 TonyDeng
和微软有什么关系?

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2013-01-23 17:40
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
pause是DOS和cmd才有的系统内部指令,正如那些用system("cls")来清屏和system("color xxx")来设置文本颜色的做法一样,等于写批处理。

授人以渔,不授人以鱼。
2013-01-23 17:43
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:4 
以下是引用TonyDeng在2013-1-23 17:22:27的发言:


打倒微软!!!

大牛竟然这么说 好惊讶啊。。
2013-01-23 17:45
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
我是替别人说,哈哈~

授人以渔,不授人以鱼。
2013-01-23 17:51
快速回复:[求助]字符串处理方面的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048170 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved