注册 登录
编程论坛 VC++/MFC

怎么定义一个二位字符串数组?

liting89720 发布于 2012-04-11 19:37, 601 次点击
我是用char*[][]定义了一个二位字符串数组,不过在进行动态存储的时候总是存储出错,前面的被覆盖掉了。搞不明白,求帮忙
5 回复
#2
wube2012-04-13 16:44
'我大概是这样用的~很正常阿~

#include "stdafx.h"
char All[Straight][sHorizontal];
int AAA()
{
    while(???)
    {
        if(???)
        {
            jj=0;
            jj+=sprintf(All[count]+jj, "AAA: %d|%d|%d", S_len,CPU_Type,STDF_VER);
            ......
            count++;
        }
        else if (???)
        {
            jj=0;
            jj+=sprintf(All[count]+jj, "\nAAA: %d|%d|%d", S_len,CPU_Type,STDF_VER);
            ......
            count++;
        }
        else if (???)
            ......
            ......
            ......
        if((count==Straight)||((CN_BUFFER_SIZE+1)==(unsigned)i))
        {
        int num;
        stream1 = fopen(stParam.SaveFile, "a+" );
        for(num=0;num<count;num++)
            fprintf(stream1,"%s",All[num]);
        fclose(stream1);
        memset(All,0,sizeof(All));//清空All
        count=0;
        }
    }
    free (All);
    return 1;
}

char*[][]是三位吗?
#3
liting897202012-04-13 19:11
回复 2楼 wube
字符串是二维,字符是三维,我有点看不懂你的程序,能详细点吗?我是制作了一个mfc界面,点击一次button往二维数组里添加字符串,不过不知道为什么字符串总被覆盖。请问能有更好的定义二位字符串数组方法吗?
#4
wube2012-04-13 21:40
回复 3楼 liting89720
MFC我是用 CStringArray ~

我只知道二维就能做String Array~三维要做啥我就不清楚了~
// AAA.cpp : Defines the entry point for the console application.
#include "stdafx.h"

int main(int argc, char* argv[])
{
    char a='A';
    printf("%c\n",a);

    char b[]="AAA";
    printf("%s\n",b);

    char c[10][10]={"AAA","BBB","CCC"};
    printf("%s\n",c[0]);
    printf("%s\n",c[1]);
    printf("%s\n",c[2]);

    printf("Hello World!\n");
    return 0;
}
只有本站会员才能查看附件,请 登录
#5
wube2012-04-13 21:45
左边那维是字符串的指数~
右边那维是指定指数内含的字符串~
用到第三维是要做啥?
#6
liting897202012-04-14 19:49
回复 5楼 wube
额,那我是要三维的。我是用来提取数据
1