数据输入和输出操作 IO操作
2017-06-23 22:25
375 查看
printf(%[-][0][4][.2][f],3.124);-:右对齐 4:占四个字节 0:空位用0填充
.n:表示截取的字符个数 f:输出浮点数
*#include<> 将在系统默认存放头文件的路径找文件
通过scanf函数可以接受任意的键盘的输入,如果输入的长度超过了应用给定的缓冲区,就会覆盖其他数据区,这称为“堆栈溢出”或“缓冲区溢出”。而且scanf函数有三个特点:
1. 取数据时遇到空格、回车、TAB就会停止;
2. scanf函数和都是从输入流缓冲区中读取数据的,而不是从键盘(终端)缓冲区读取值的。读取时遇到回车\n即结束,且回车\n会被读入输入缓冲数据流中,这样第二次的读入函数将输入缓冲区中的回车\n读取走了,没有等待键盘的二次输入。
3. scanf读取字符串时,会舍弃最后的回车符。
从第二个特点,我们可以看出在上例中,如果输入很长,最后以’\n’结束后,’\n’会覆盖后面的数据区,造成缓冲区溢出。
.n:表示截取的字符个数 f:输出浮点数
printf("%4d%4d\n", 1, 23);//右对齐,长度为4 printf("%-4d%-4d\n", 1, 23);//左对齐,长度为4 printf("%04d%04d\n", 1, 23);//右对齐,长度为4,且空位用零补齐 printf("%4d\n", 1234567);//整型,超出长度则输出全部位数 printf("%5.2f\n", 0.1211);//总长度为5,小数位为2 printf("%s\n", "helloworld" );//输出字符串 printf("%.2s", "oxoapkoe" );//输出字符串的前两位,右对齐占五个位置 int num = -1; printf("%d %u", num, num);//%u 为无符号数, //输出结果为1 4294967295(是四字节最大值)-1~1000 0...0 0001 存储为11...1 printf("%c",'c');//输出为字符c printf("%c","c");//实际为'c','\0' printf("%e\n", 0.001214);//1.214000e-003 printf("%d,%o,%x,%u", -1, -1, -1, -1);//十进制,八进制,16进制,无符号 //答案:-1,37777777777,ffffffff,4994967295 ```![这里写图片描述](https://img-blog.csdn.net/20170623222449833?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzU3NTEyMzY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) %的转义使用% ,即%%d,其他的转义用\ putchar(c);//打印 一个字符 <div class="se-preview-section-delimiter"></div>
*#include<> 将在系统默认存放头文件的路径找文件
include “” 在当前目录下找,如果没找到,再到系统默认路径下找*
“`*#include<> 将在系统默认存放头文件的路径找文件 #include "" 在当前目录下找,如果没找到,再到系统默认路径下找*
通过scanf函数可以接受任意的键盘的输入,如果输入的长度超过了应用给定的缓冲区,就会覆盖其他数据区,这称为“堆栈溢出”或“缓冲区溢出”。而且scanf函数有三个特点:
1. 取数据时遇到空格、回车、TAB就会停止;
2. scanf函数和都是从输入流缓冲区中读取数据的,而不是从键盘(终端)缓冲区读取值的。读取时遇到回车\n即结束,且回车\n会被读入输入缓冲数据流中,这样第二次的读入函数将输入缓冲区中的回车\n读取走了,没有等待键盘的二次输入。
3. scanf读取字符串时,会舍弃最后的回车符。
从第二个特点,我们可以看出在上例中,如果输入很长,最后以’\n’结束后,’\n’会覆盖后面的数据区,造成缓冲区溢出。
相关文章推荐
- c++第九周【任务4】建立一个二维数组类Douary,使该类中有以下数据成员、成员函数及友员函数,完成矩阵的输入、输出、加、减、相等判断等操作。
- 第九周任务四之 建立一个二维数组类Douary,使该类中有以下数据成员、成员函数及友员函数,完成矩阵的输入、输出、加、减、相等判断等操作。
- IO 输入与输出(9)-- Java程序与其他进程的数据通信
- Java IO操作——JAVA输入数据操作实例
- ffmpeg关于io的输入输出操作
- 《C++第九周实验报告4-1》---建立一个二维数组类Douary,使该类中有以下数据成员、成员函数及友员函数, //完成矩阵的输入、输出、加、减、相等判断等操作。
- Android For JNI(二)——C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器
- 第九周实验报告(四)建立一个二维数组类Douary,使该类中有以下数据成员、成员函数及友员函数,完成矩阵的输入、输出、加、减、相等判断等操作
- JAVA高级视频_IO输入与输出 Java程序与其他进程的数据通讯 学习笔记
- 第九周实验报告任务4 建立一个二维数组类Douary,使该类中有以下数据成员、成员函数及友员函数,完成矩阵的输入、输出、加、减、相等判断等操作。
- Java输入输出(IO)操作
- Android For JNI(二)——C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- Java IO操作——专门的数据输入类Scanner(java.util工具包中)的具体使用
- 黑马程序员-JAVA高级视频_IO输入与输出-19天-7(字节流File读写操作)
- 第九周任务四(建立一个二维数组类Douary,使该类中有以下数据成员、成员函数及友员函数,完成矩阵的输入、输出、加、减、相等判断等操作。)
- 第7讲 IO/输入与输出-Java程序与其它进程的数据通信
- JAVA高级视频_IO输入与输出 Java程序与其他进程的数据通讯 学习笔记
- 文件的输入输出操作IO
- labview下关于文件输入输出io口的操作