文档章节

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

01010101010101010101
 01010101010101010101
发布于 2014/01/03 21:12
字数 589
阅读 61
收藏 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语言编程学习:写一个文件的实例详解

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

小辰带你看世界
05/24
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

没有更多内容

加载失败,请刷新页面

加载更多

sed, awk 练习

1. sed打印某行到某行之间的内容 2. sed 转换大小写 将单词首字母转化大写 将所有小写转化大写 3. sed 在某一行最后面添加一个数字 4. 删除某行到最后一行 解析: {:a;N;$!ba;d} :a : 是...

Fc丶
今天
2
0
babel6升级到7,jest-babel报错:Requires Babel "^7.0.0-0", but was loaded with "6.26.3".

自从将前端环境更新到babel7,jest-babel之前是基于babel6的,执行时候就会报:Requires Babel "^7.0.0-0", but was loaded with "6.26.3". 很烦,因为连续帮好几台电脑修复这个问题,所以记...

曾建凯
今天
1
0
探索802.11ax

802.11ax承诺在真实条件下改善峰值性能和最差情况。 如何改善今天的Wi-Fi? 在决定如何改进当前版本以外的Wi-Fi时,802.11ac,IEEE和Wi-Fi联盟调查了Wi-Fi部署和行为,以确定更广泛使用的障碍...

linuxprobe16
今天
2
0
使用linux将64G的SDCARD格式化为FAT32

一、命令如下: sudo fdisk -lsudo mkfs.vfat /dev/sda -Isudo fdisk /dev/sda Welcome to fdisk (util-linux 2.29.2). Changes will remain in memory only, until you decide to wri......

mbzhong
今天
4
0
深入理解Plasma(四):Plasma Cash

这一系列文章将围绕以太坊的二层扩容框架,介绍其基本运行原理,具体操作细节,安全性讨论以及未来研究方向等。本篇文章主要介绍在 Plasma 框架下的项目 Plasma Cash。 深入理解Plasma(1):...

HiBlock
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部