打印

字符指针问题

[复制链接]
892|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
baidudz|  楼主 | 2013-10-30 18:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
c++里,使用 char * pOutputstr,对其赋值后出现乱码,代码如下:
#include <iostream>

using namespace std;

void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr)
{
    int  count=1;
    int order=0;
    for(int i=0;i<lInputLen-1;i++)
    {
        char a=pInputStr[i];
        char b=pInputStr[i+1];
        if(a==b)
        {
            count++;
        }
        else
        {
            
                 
            pOutputStr[order++]=count;//此处赋值出现乱码
            //cout<<count;
            pOutputStr[order++]=a;
            //cout<<a;

            count=1;
        }
         
         
    }
    pOutputStr[order++]=count;
    pOutputStr[order++]=pInputStr[strlen(pInputStr)-1];
}
int main()
{
    char strings[100];
    cout<<"Input your string:"<<endl;
    cin>>strings;

    stringZip(strings,strlen(strings),strings);
    cout<<strings<<endl;

    char keep=' ';
    cin>>keep;
}
望各位好友帮忙看看,错在哪了

相关帖子

沙发
火箭球迷| | 2013-10-30 19:02 | 只看该作者
1,pOutputStr[order++]=count;//此处赋值出现乱码
>>pOutputStr[order++]=count+'0';

2,pOutputStr[order++]=count;同样加‘0’
3, pOutputStr[order++]=count;
    pOutputStr[order++]=pInputStr[strlen(pInputStr)-1];
>>添加一句 pOutputStr[order++]=‘\0’
4,stringZip(strings,strlen(strings),strings);输出另建个空间

使用特权

评论回复
板凳
hsbjb| | 2013-10-30 19:15 | 只看该作者
in和out不能共用一个buffer,数字显示需要加上'0',字符串需要以'\0'结尾

使用特权

评论回复
地板
无冕之王| | 2013-10-30 19:28 | 只看该作者
应该是LS分析的原因

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

239

主题

2284

帖子

0

粉丝