文档章节

关于C语言基本格式化输入、输出 (如%20[^#] )这种不常见的写法说明

01010101010101010101
 01010101010101010101
发布于 2014/01/03 21:12
字数 589
阅读 59
收藏 0

【关于C语言基本格式化输入、输出 (如%20[^#] )这种不常见的写法说明】
针对C语言中的基本格式化输入、输出,我们常见是格式为:
  %[标志][宽度][.精度]类型
相关说明:
  类型:说明数据类型是整型(d)还是字符串(s)、字符(c)、地址输出(p)等.想输出% 需要写成"%%"。
  标志:“-”左对齐;“+”右对齐(默认是这种方式);空格“ ” 只有当是数值型的输出才有用( 当正数时,则显示一个空格,如是负数 ,则显示一个负号);# 表示哪种进制数。
  宽度:表示最少占用的字符数。当实际的位数大于指定宽度,按实际的输出,否则需要进行填充操作,补空格或是0 。如printf("%04s","44");----结果为0044。
  精度:精确控制个数。如printf("%.2d",3.143);--- 结果3.14  ;printf("%.2s","qwert"); ----结果qw。
  注意:字符串形式只能补空格printf("[%12.12s]","123456"),数值型只能补0 printf("[%012d]" ,1235435);
------------------------------------------------------------------------------------------------------------------------
针对不常见进行举例:
[mengfh /home/mengfh/worker/test]>cat testPrint.c
#include<stdio.h>
#include<string.h>

int main(int argc , char *args[])
{

char buff [255];

memset(buff,0 ,sizeof(buff));
fscanf(stdin, "%[^#]" , buff);
fprintf(stderr, "[%s]\n",buff);

return 0;
}

=====
编译运行结果为:
[mengfh /home/mengfh/worker/test]>gcc -o testPrint testPrint.c
[mengfh /home/mengfh/worker/test]>./testPrint
kjdfkdjkfj#fdjkfjdk
[kjdfkdjkfj]

说明---------其在#进了截断操作并返回。
--------------------------------------------------------------------------------------

“[”

Matches a nonempty sequence of characters from the specified set of accepted characters; the next pointer must be a pointer to char, and there must be enough room for all the characters in  the string, plus a terminating NUL character. The usual skip of leading white space is suppressed. The string is to be made up of characters in (or not in) a particular set; the set is defined by the characters between the open bracket [ character and a close bracket ]character. The set excludes those charac-ters if the first character after the open bracket is a circum-flex ^. To include a close bracket in the set, make it the first character after the open bracket or the circumflex; any other position will end the set. The hyphen character - is also special; when placed between two other characters, it adds all intervening characters to the set. To include a hyphen, make it the last character before the final close bracket. For instance, `[^]0-9-]' means the set `everything except close bracket, zero through nine, and hyphen'. The string ends with the appearance of a character not in the (or, with a circumflex, in) set or when the field width runs out.

© 著作权归作者所有

共有 人打赏支持
01010101010101010101
粉丝 23
博文 93
码字总数 68915
作品 0
长宁
高级程序员
Boost 格式化输出函式库Format

他最大的特色是在于它可以使用C 语言中printf 的格式化字串,来针对C++ 的iostream 做输出、或是产生格式化的字串;相较于C++ iostream 的manipulator,boost::format 在使用上更为直觉、简单...

吃一堑消化不良
2015/09/13
193
0
ACM中的浮点数精度处理

转自:http://www.cnblogs.com/crazyacking/p/4668471.html 在ACM中,精度问题非常常见。其中计算几何头疼的地方一般在于代码量大和精度问题,代码量问题只要平时注意积累模板一般就不成问题...

dear_jia
02/23
0
0
七夕来了,请用C 语言和我交流

C语言输入&输出 当我们提到输入时,这意味着要向程序填充一些数据。输入可以是以文件的形式或从命令行中进行。C 语言提供了一系列内置的函数来读取给定的输入,并根据需要填充到程序中。 当我...

C语言学习
08/16
0
0
C语言打印long long类型

原先的写法,一直打印不出长整形: long long a;a = 12345ll;printf("%dn", a);查找后发现,原来是自己忘了格式化输出语法,而不是其它问题: long long a;a = 12345ll;printf("%lldn", a); ...

Honghe
2013/03/07
0
1
C语言编程学习:写一个文件的实例详解

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
05/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Go语言_通神之路(2)

1、包 每个Go程序都是由包构成,从main包开始运行,就是我上一篇讲到的,都是从main函数开始执行,但是必须在main包下面! package mainimport ( "fmt" "math/rand")func ...

木九天
昨天
5
0
51.php-fpm的pool 慢日志 open_basedir 进程管理

12.21 php-fpm的pool 12.22 php-fpm慢执行日志(测试时报错) 12.23 open_basedir 12.24 php-fpm进程管理 12.21 php-fpm的pool: php-fpm里的pool也叫池子,咱们之前加入过www的配置,这个w...

王鑫linux
昨天
0
0
java内存模型概述

1、Java虚拟机运行时数据分区图 程序计数器:线程私有,是一块较小的内存空间,它是当前线程所执行的字节码文件的行号指示器 java虚拟机栈:线程私有,其生命周期与线程相同,这也就是我们平...

京一
昨天
2
0
shell学习之test语法

因为if-then语句不能测试退出状态码之外的条件,所以提供了test, 如果test命令中列出的条件成立,test命令就会退出并返回退出状态码0;如果条件不成立,test命令就会退出并返回非零的退出状态...

woshixin
昨天
0
0
openJDK之如何下载各个版本的openJDK源码

如果我们需要阅读openJDK的源码,那么需要下载,那么该去哪下载呢? 现在JDK已经发展到版本10了,11已经处于计划中,如果需要特定版本的openJDK,它们的下载链接在哪呢? 1.openJDK的项目 链接...

汉斯-冯-拉特
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部