. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->使用BIOS进行键盘输入和磁盘读写
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  提一个字符串结束标志的问题  [已解决] 回复[ 2次 ]   点击[ 355次 ]  
ln_ydc
[帖 主]   [ 发表时间:2012-03-11 01:32 ]   [引用]   [回复]   [ top ] 
荣誉值:14
信誉值:10
注册日期:2010-03-02 17:00
前几章中关于将几个单词或字符串变大(小)写,或首字母变大(小)写时,
都是将字符串定义在data段中,而区分一个字符串结束时,用到过两种方式:
(1)将每个字符串定义成等长(最长字符串的长度), 长度不够的用空字符表示
如:
data segment
  db 'file  '
  db 'edit  '
  db 'search'
data ends
(2)每个字符串后,用'0'标志结束
如:
data segment
  db 'file', '0'
  db 'edit', '0'
  db 'search', '0'
data ends

第二种方式相对于第一种方式非常灵活,
但是我有个疑问:
如果字符串中本身就含有‘0’,第二种方式显然就不行了

记得c语言中关于字符串是有结束标志的'\0'的
‘\0’是控制键吗,如果想要按C语言的这种方式来处理字符串,
该怎么做?
tomato
[第1楼]   [ 回复时间:2012-03-12 23:54 ]   [引用]   [回复]   [ top ] 
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51
如果是字符0的话,那么,存储在计算机中的值就不是0,所以,不会出现楼主所担心的问题。
ln_ydc
[第2楼]   [ 回复时间:2012-03-13 09:29 ]   [引用]   [回复]   [ top ] 
荣誉值:14
信誉值:10
注册日期:2010-03-02 17:00
此贴由 贴主 于 [ 2012-03-13 09:29 ] 结贴。 结贴原因:问题已解决
得分情况: 1楼(tomato):2分  
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved