| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 369 人关注过本帖
标题:求助:复制串中的乱码问题
取消只看楼主 加入收藏
tane05
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-12-28
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:4 
求助:复制串中的乱码问题
程序代码:
#include<stdio.h>
#include<stdlib.h>

typedef struct

{
    char *data;
    int length;
}SqString;


int StrAssign(SqString *Sq,char *ch);
void Pri_String(SqString *str);
int main()
{
    SqString str,*sq;
    sq=&str;
    printf("%o\n",&str);
    printf("%o\n",sq);
    StrAssign(sq,"Hello!");
    Pri_String(sq);
    return 0;
}
int StrAssign(SqString *Sq,char *ch)
  /*由串常量ch创建串sq

  1.遍历ch求其长度,对应分配Sq空间
  2.复制,Sq长度*/
{
    printf("1\n");
    char *flag=ch;
    int len;

    while(*flag++!='\0')
        continue;
    len=flag-ch;
    Sq->data=(char *)malloc((len+1)*sizeof(char));
    printf("2\n");
    if(Sq->data==NULL)
    {
        printf("Apply space is not succesed!");
        exit(0);
    }
    while(*(Sq->data)++=*ch++)
        ;
    Sq->length=len;
    printf("3\n");
    return 0;
}
void Pri_String(SqString *str)
{
    for(int i=0;i<str->length;i++)
        putchar(*str->data++);
    printf("\n");
    printf("%s\n",str->data);
    printf("%d\n",str->length);
}



2011-06-09 23:49
tane05
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-12-28
收藏
得分:0 
本来想写个串基本操作的代码,串常量ch创建串sq这函数纠结了,看过来看过去,就找不到乱码的原因,再次求高手解释下,真想找个师傅,忽忽..
2011-06-09 23:51
tane05
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-12-28
收藏
得分:0 
回复 4楼 voidx
十分感谢 新手
2011-06-10 09:18
tane05
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-12-28
收藏
得分:0 
回复 3楼 寒风中的细雨
感谢 感谢
2011-06-10 09:19
tane05
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-12-28
收藏
得分:0 
谢谢俩位 明白了 自己修改了串的基地
2011-06-10 09:28
快速回复:求助:复制串中的乱码问题
数据加载中...
 
   



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

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