Linux 在一行上打印变量的值(无新行)
所以,我面临一个问题,即在新行上打印变量的每个值,但打印的格式是一行。我真的花了很多时间来寻找解决方案。但这个解决方案不起作用。我想那是因为我是汇编高手。所以,我删除了我所有的失败。。。这是我的代码:Linux 在一行上打印变量的值(无新行),linux,assembly,nasm,Linux,Assembly,Nasm,所以,我面临一个问题,即在新行上打印变量的每个值,但打印的格式是一行。我真的花了很多时间来寻找解决方案。但这个解决方案不起作用。我想那是因为我是汇编高手。所以,我删除了我所有的失败。。。这是我的代码: global main extern printf section .data str: db "%i", 10, 0 count: dw 1 section .text main: start: push dword [count] push dword str call
global main
extern printf
section .data
str: db "%i", 10, 0
count: dw 1
section .text
main:
start:
push dword [count]
push dword str
call printf
push dword [count]
push dword str
call printf
那么,现在在终端打印中:
1
1
要这样打印,我需要做什么:
1 1
请举例说明我理解的代码。。。。请不要给我在互联网上的类似问题的第一个链接,因为我尝试了这个。我真的不明白。。。
如何在打印字符串中插入不同的字符,例如“:”、“空格”、“/”和其他。。。?
谢谢你:)改变
str: db "%i", 10, 0
到
10
是换行符。这将用空格代替它。str定义中的10
用作U+000A换行符,用作换行符。@ecm我知道。我试图删除它,但是在这个str没有打印出来之后,你可能需要刷新C库的缓冲区;具有可在Linux上运行的NASM代码,因此即使在从格式字符串中删除换行符后,也可以刷新缓冲区以查看printf输出。该文件可以编译,但不输出任何内容。也就是说,如果10,0,则显示ifnomation;如果删除10,则完全不显示任何内容。请确保在程序结束时调用exit()
,以便刷新缓冲区。
str: db "%i ", 0