ttljdboy 发表于 2017-5-11 12:59:41

windows sdk编程第九课 字符串显示的疑问

        static TCHAR szBuffer[] = TEXT("fishc");
               
        case WM_PAINT:
                //hdc = GetDC(hwnd);
                hdc = BeginPaint(hwnd, &ps);
                for (i = 0; i < 10; i++){
                        //wsprintf(szBuffer,TEXT("%d:%s"),i+1,TEXT("i love fishc.com!"));
                        j = lstrlen(szBuffer);
                        TextOut(hdc, 0, i * 15, szBuffer, 20);
                }

跟着视频在练习发现有一个明显不同的地方
wsprintf(szBuffer,TEXT("%d:%s"),i+1,TEXT("i love fishc.com!")); 测试时时正常的
之后屏蔽这条
通过上面直接设置一个TCHAR数组
static TCHAR szBuffer[] = TEXT("fishc");想打印这个 来验证视频里的
j = lstrlen(szBuffer); 函数会一直读取到\0 也就是null才结束这个事情

但是我发现如果没有static      
fishc这几个字符也不会打印出来   中断调试发现szBuffer里面存放的就是乱码打印出来的也是乱码
后来我自己添加了static就能正常打印了
但是视频里小甲鱼也是没有static的
是因为我visual studio的版本原因吗2013旗舰版?

ttljdboy 发表于 2017-5-11 14:38:41

找到原因了赋值语句写在switch内case前 执行不到;
页: [1]
查看完整版本: windows sdk编程第九课 字符串显示的疑问