Abh*_*kur 2 c format-specifiers
我正在开发一个C项目,现在使用开源方法集成到我的代码中.在浏览代码时,我遇到了一个类似这样的printf语句:
printf("%-9s",someString);
Run Code Online (Sandbox Code Playgroud)
我理解格式说明符%s但是什么是%9s?
我试图寻找解决方案,但没有成功.任何帮助都会有用.
printf("%-9s",someString);
Run Code Online (Sandbox Code Playgroud)
9是场宽.如果你传递字符串Hi,这将打印Hi七个空格.
如果你传递字符串Hai,这将打印Hai六个空格.
- 说左对齐.
编辑
这些代码行解释得更多.
printf("\n%-9s%s", "Hello", "World!"); // left align, Here "Hello" is five characters, because of width -9, prints 4 more spaces after Hello
printf("\n%9s%s", "Hello", "World!"); // right align, because of width 9, prints 4 more spaces before Hello
printf("\n%+9s%s", "Hello", "World!"); // right align, because of width 9, prints 4 more spaces before Hello.
Run Code Online (Sandbox Code Playgroud)
所有上述情况下字段宽度"Hello"仅用于"World!"字符串而不是字符串,这通常打印.
产量
Hello World!
HelloWorld!
HelloWorld!
Run Code Online (Sandbox Code Playgroud)