首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"%-9s“做什么?

"%-9s“做什么?
EN

Stack Overflow用户
提问于 2013-10-08 13:09:58
回答 3查看 4.2K关注 0票数 3

我正在从事一个C项目,现在使用开源方法将其集成到我的代码中。在遍历代码时,我看到了一个printf语句,如下所示:

代码语言:javascript
复制
printf("%-9s",someString);

我理解格式说明符%s,但是%9s是什么?

我试着想办法解决这个问题,但没有成功。任何帮助都是有用的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-08 13:11:29

代码语言:javascript
复制
printf("%-9s",someString);  

9是场宽。如果将字符串作为Hi传递,则将打印Hi和七个空格。

如果将字符串作为Hai传递,则将打印Hai和6个空格。

-说左对齐。

编辑

这些代码行解释得很少。

代码语言:javascript
复制
 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!"字符串,此字段通常打印。

输出

代码语言:javascript
复制
Hello    World!
    HelloWorld!
    HelloWorld!
票数 12
EN

Stack Overflow用户

发布于 2013-10-08 13:11:22

用于左对齐指定字段中输出的格式说明符的-符号。

%-9s中,9是字段宽度和-,然后它告诉编译器向左对齐输出。

票数 0
EN

Stack Overflow用户

发布于 2013-10-08 13:12:09

%9s --这意味着,如果要显示的字符串长度小于9,则显示字符串并填充空白,直到字符串长度达到9个字符为止。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19248608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档