标题:[求助][原创] 自己定义一个string类,将字符反顺序排序后,显示出的是乱码
只看楼主
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
结帖率:88.89%
 问题点数:0 回复次数:21 
[求助][原创] 自己定义一个string类,将字符反顺序排序后,显示出的是乱码

//============================================================================//
//===========程序功能:自己定义一个string类,并用它建立对象===================//
//===程序问题:将字符反顺序排序后,显示出的是乱码,就算字符全部是字母也不行===//
//============================================================================//

#include "iostream.h"
#include "stdio.h"
//============================================================================//
//----------自定义字串类------------------------------------------------------//
class string
{
/******************************************************************************/
/**************私有数据********************************************************/
int length;
char *contents;
int who;
char *fan;

/******************************************************************************/
/**************公有数据********************************************************/
public:

/***构造函数***********************/
string(int id);

/***析构函数***********************/
~string();

/***用户界面************************/
int get_length(){return length;}; //返回字符串的长度
char *get_contents() {return contents;}; //返回字符串的内容的指针
char *get_fan() {return fan;}; //返回字符串的返排列的字符串的指针
int set_contents(int in_length,char *in_contents); //字符内容设置(从终端或其它地方接收参数)
int set_contents(char *in_contents); //字符内容设置(从终端或其它地方接收参数)
};

/***类函数(对数据进行操作)*******************/
string:: string(int id)
{
length=0;
contents=NULL;
fan=NULL;
who=id;
printf("字串对象%d已经初始化!\n\a",who);
};

string:: ~string()
{
printf("字串对象%d已经释放!\n\a",who);
};

int string::set_contents(int in_length,char *in_contents)
{
in_contents[in_length]='\0';
contents=in_contents;
length=in_length;
return 1;
};

int string:: set_contents(char *in_contents)
{
contents=in_contents;
int i=0;
char *p=in_contents;
while(*p++!='\n')i++;
length=i;


/******我想加个将输入的字符串按相反顺序排列,可排出来是乱码!*****************/
int j=0;
char temp[i];
for(j=0; j<i;j++)
{
char t;
t=temp[0];
temp[0]=temp[i];
temp[i]=t;
fan=temp;
}
return 1;
};
//----------------------------------------------------------------------------//
//============================================================================//

//((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((//
//))主函数))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))//
main()
{
int i;
char *p;
string x(1),y(2);
x.set_contents("X--->大家好,这是自己编的类写出来的字串\n\n\a"); //
y.set_contents("Y--->大家好,这是自己编的类写出来的字串\n\n\a");
i=x.get_length();
p=x.get_contents();
cout<<"x_length="<<i<<"x_contents="<<p<<"\n\a";
i=y.get_length();
p=y.get_contents();
cout<<"y_length="<<i<<"y_contents="<<p<<"\n\a";

p=x.get_fan();
cout<<p<<"\n\n";
p=y.get_fan();
cout<<p<<"\n\n";
getchar();
}
//((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((//
//))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))//

搜索更多相关主题的帖子: string 乱码 定义 顺序 字符 
2007-06-22 18:49
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
得分:0 
没有人回答我自己先顶一下
2007-06-22 20:31
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
得分:0 
帮我看看啊,这是怎么回事啊?
2007-06-22 21:00
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
得分:0 
请问下,LZ你的代码通过编译了吗?


Fight  to win  or  die...
2007-06-22 21:02
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
得分:0 

通过的

2007-06-22 21:37
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
得分:0 
对不起,看别人的贴去了,忘掉看自己的,呵呵.
2007-06-22 21:38
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
得分:0 
在C-free3.5中通过,其它都是正确的,只是反序后输入出的不是字符串的反序,而是看不懂的乱码!
2007-06-22 21:40
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
得分:0 
我再顶两下,把它弄成热贴,也许就有人帮我了啊
2007-06-22 21:52
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
得分:0 
这下都成热贴了,高手来帮帮忙啊?
2007-06-22 21:53
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
得分:0 
我在线等啊,急啊,快疯了
2007-06-22 21:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-149578-1-1.html




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

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