程序集8086中的数组大小未知

问题描述 投票:0回答:1

我需要从用户获取字符串输入,但我不知道他将输入的字符串的大小,我需要在内存中准备一个数组作为字符串的大小,因为我正在使用中断21h,啊= 0AH。所以我的问题是如果我不知道它的大小,如何获得字符串的输入?我可以使用其他任何中断吗?我搜查了但是我没找到任何东西。

assembly dos x86-16
1个回答
3
投票

我建议你创建一个固定大小的缓冲区,并使用带the interrupt 21h, ah=8的循环进行直接字符输入。

这样,如果此数字超过缓冲区大小,您可以检查用户输入和终止的字节数。

简而言之:

  • 创建一个足够大的缓冲区
  • 抓住一个字符直到 这是一个线路 输入的字符数将超过缓冲区
  • 不要忘记零终止你的字符串

如果你真的需要读取整个字符串,你可以找到一种动态重新分配缓冲区的方法。

© www.soinside.com 2019 - 2024. All rights reserved.