2011-11-23 45 views
1

我无法理解这行代码的作用:的sprintf,printf和格式说明

sprintf(obj, "%s.o", root); 

OBJ和根都是字符缓冲区,从我读根基本上复制到OBJ? 我不确定“%s.o”在做什么。 %s是指定一个String,但是.o?

感谢您的帮助

+2

它只是将.o添加到根的末尾并将整个事物移动到obj? – drunkmonkey

回答

6

%s将与root内容所代替,而后面跟着一个字符串,它仅仅是一个“额外”的文本.o一部分。例如,如果root有“文件”,则obj将被设置为“file.o”。

+0

严格说来,只有最初(但不包括)第一个0字节的内容才会被复制。 –

+1

也许这太严格了...... :-)但是多谢指点 – sidyll

+1

感谢您的帮助:) – drunkmonkey