我正在从事一个C项目,现在使用开源方法将其集成到我的代码中。在遍历代码时,我看到了一个printf语句,如下所示:
printf("%-9s",someString);我理解格式说明符%s,但是%9s是什么?
我试着想办法解决这个问题,但没有成功。任何帮助都是有用的。
发布于 2013-10-08 13:11:29
printf("%-9s",someString); 9是场宽。如果将字符串作为Hi传递,则将打印Hi和七个空格。
如果将字符串作为Hai传递,则将打印Hai和6个空格。
-说左对齐。
编辑
这些代码行解释得很少。
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. 以上所有情况下,字段宽度仅用于"Hello"字符串,而不是用于"World!"字符串,此字段通常打印。
输出
Hello World!
HelloWorld!
HelloWorld!发布于 2013-10-08 13:11:22
用于左对齐指定字段中输出的格式说明符的-符号。
在%-9s中,9是字段宽度和-,然后它告诉编译器向左对齐输出。
发布于 2013-10-08 13:12:09
%9s --这意味着,如果要显示的字符串长度小于9,则显示字符串并填充空白,直到字符串长度达到9个字符为止。
https://stackoverflow.com/questions/19248608
复制相似问题