| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 834 人关注过本帖
标题:字符窜的小问题
只看楼主 加入收藏
zjjzff1
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2009-3-25
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:9 
字符窜的小问题
用invoke    GetWindowText,hWnd,addr @buf,sizeof @buf得到的buf


如何遍历@buf字符窜的每一个字母
搜索更多相关主题的帖子: 字符 
2009-10-26 20:30
onepc
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:223
专家分:569
注 册:2009-8-27
收藏
得分:0 
程序代码:
szBuff db 100 dup (?)
szFmat db '%d',0

----------------------------
invoke lstrlen,addr @buf

mov ecx,eax
lea esi,@buf
NextWord:
invoke wsprintf,addr szBuff,addr szFmat,[esi]
invoke MessageBox,NULL,esi,esi,0
inc esi
loop NextWord



未测试~


[ 本帖最后由 onepc 于 2009-10-27 11:13 编辑 ]
2009-10-27 08:14
onepc
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:223
专家分:569
注 册:2009-8-27
收藏
得分:0 
呃,显示字符,应是要s 上面的改为%s
2009-10-27 11:14
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
格式化字符%c
格式化字符串%s
整数%d

wsprintf不支持格式化浮点数

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2009-10-27 12:27
zjjzff1
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2009-3-25
收藏
得分:0 
不行啊
invoke wsprintf,addr szBuff,addr szFmat,[esi]
这句报错,[esi]不能直接放在这里
2009-10-27 13:09
sll0807
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:69
专家分:123
注 册:2009-3-2
收藏
得分:5 
.Data
szTxt        db    'abcdefghigklmnopqrst1234567890',0
szFmt        db    '%c',0
szCap        db    '单字符格式化',0
 
.Data?
szBuff    db 100 dup (?)
 
.Code
 
Start:
 
    lea    esi,szTxt
     
    .While BYTE ptr [esi]
         
        invoke    wsprintf,addr szBuff,addr szFmt,DWORD ptr [esi]
        invoke    MessageBox,NULL,addr szBuff,addr szCap,0
         
        inc esi
    .EndW
 
End Start
2009-10-27 19:33
zjjzff1
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2009-3-25
收藏
得分:0 
对的,但只能输出英文,如何输出中文
2009-10-28 18:58
sll0807
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:69
专家分:123
注 册:2009-3-2
收藏
得分:0 
笨方法 转Unicode %C格式化
2009-10-29 15:35
zjjzff1
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2009-3-25
收藏
得分:0 
转Unicode?


如何转,我是新手
2009-10-29 19:28
sll0807
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:69
专家分:123
注 册:2009-3-2
收藏
得分:0 
程序代码:
.386  
.Model Flat,StdCall  
Option Casemap :None  
 
Include        Windows.inc  
Include        User32.inc  
Include        Kernel32.inc  
 
Include        /MASMPlus/Macros/Strings.Mac  
 
IncludeLib    User32.lib  
IncludeLib    Kernel32.lib  
 
.Data 
szTxt        db    '你号abcdefghig测试klmnop啊qrst1234567里890',0  
szFmt        db    '%C',0  
szCap        db    'Unicode单字符格式化',0  
 
.Data?  
usText        db    128 dup (?)  
szBuff        db    128 dup (?)  
 
.Code  
 
Ascii2Unicode Proc _lpwszReturnBuf:DWORD,_lpszSourceBuf:DWORD  
      
    pushad 
     
    invoke    lstrlen,_lpszSourceBuf  
    inc        eax  
    invoke    MultiByteToWideChar,CP_ACP,0,_lpszSourceBuf,-1,_lpwszReturnBuf,eax 
     
    popad  
    ret  
      
Ascii2Unicode EndP  
 
Start    Proc  
 
    invoke    Ascii2Unicode,addr usText,addr szTxt 
     
    lea    esi,usText 
      
    .While WORD ptr [esi]  
         
        invoke    wsprintf,addr szBuff,addr szFmt,DWORD ptr [esi]  
        invoke    MessageBox,NULL,addr szBuff,addr szCap,0  
         
        add        esi,2 
    .EndW  
     
    ret  
     
Start EndP  
 
End Start
2009-10-30 10:35
快速回复:字符窜的小问题
数据加载中...
 
   



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

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