#include <stdio.h>
1 fflush
2 fgetc
3 fgets
4 fprintf
5 fputc
6 fputs
7 fscanf
8 fseek
9 ftell
10 perror
11 remove
12 rename
13 sprintf
14 sscanf
15 system
1 fflush
函数名: fflush
功能: 清除读写缓冲区,需要立即把输出缓冲区的数据进行物理写入时
头文件:stdio.h
原型:int fflush(FILE *stream)
其中stream是要冲洗的流
2 fgetc
fgetc可以从任何文件获取一个字符
getchar()只是fgetc特例
格式:int fgetc(FILE *stream);
这个函数的返回值,是返回所读取的一个字节。如果读到文件末尾或者读取出错时返回EOF。
3 fgets
fgets可以从任何文件获取一个字符串,stdin代表键盘
函数原型
char *fgets(char *buf, int bufsize, FILE *stream);
参数
*buf: 字符型指针,指向用来存储所得数据的地址。
bufsize: 整型数据,指明存储数据的大小。
*stream: 文件结构体指针,将要读取的文件流。
返回值
成功,则返回第一个参数buf;
在读字符时遇到end-of-file,则eof指示器被设置,如果还没读入任何字符就遇到这种情况,则buf保持原来的内容,返回NULL;
如果发生读入错误,error指示器被设置,返回NULL,buf的值可能被改变。
4 fprintf
显示器可以当作一个文件来操作,fprintf可以输出到任何文件
printf就是fprintf的特例,只能输出到屏幕
int fprintf (FILE* stream, const char*format, [argument])
FILE*stream:文件指针
const char* format:输出格式
[argument]:附加参数列表
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h>
#include<stdlib.h> main()
{
char str[] = { }; fscanf(stdin, "%s", str); fprintf(stdout, "str=%s\n", str); system("pause");
}
5 fputc
putchar只是fputc的特例,putchar是显示器输出
fputc可以输出任何文件,显示器只是其中一种stdout
函数名称:写字符文件函数fputc()
函数格式:int fputc (char c, File *fp)
参数解释:fp为文件指针,它的值是执行fopen()打开文件时获得的。
n为输出的字符量。 虽然函数被定义为整形数,但仅用其低八位。
返回值:在正常调用情况下,函数返回写入文件的字符的ASCII码值,出错时,返回EOF(-1)。当正确写入一个字符或一个字节的数据后,文件内部写指针会自动后移一个字节的位置。EOF是在头文件 stdio.h中定义的宏。
6 fputs
puts只是fputs的特例,puts是显示器输出
fputs可以输出任何文件,显示器只是其中一种stdout
参数: str是字符型指针,可以是字符串常量,或者存放字符串的数组首地址。
通过打开文件函数fopen()获得的。
fputs函数的功能是向指定的文件写入一个字符串,其调用形式为: fputs(字符串,文件指针) 其中字符串可以是字符串常量,也可以是字符数组名, 或指针 变量
7 fscanf
fscanf可以扫描任何文件,不仅仅是键盘
scanf是fscanf的特例
函数名: fscanf
功 能: 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。这与fgets有区别,fgets遇到空格不结束。
返回值:整型,成功返回读入的参数的个数,失败返回EOF(-1)。
用法:
1 int fscanf(FILE*stream,constchar*format,[argument...]);
FILE *stream:文件指针
char *format:格式字符串
[argument...]:输入列表
8 fseek
用法
int fseek(FILE *stream, long offset, int fromwhere);
描述
函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere(偏移起始位置:文件头0(SEEK_SET),当前位置1(SEEK_CUR),文件尾2(SEEK_END))为基准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。
9 ftell
用于得到文件位置指针当前位置相对于文件首的偏移字节数。
函数原型
long ftell(FILE *stream);
函数功能
使用fseek函数后再调用函数ftell()就能非常容易地确定文件的当前位置。
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h>
#include<stdlib.h> main()
{
char path[] = "E:\\1.txt"; FILE *pf = fopen(path, "rb"); if (pf == NULL)
{
printf("fail");
perror("error");
}
else
{
//定位文件指针到尾部
fseek(pf, , SEEK_END);//定位到文件的末位,偏移量为0 int length = ftell(pf);//获取文件的长度 if (length == -)
{
printf("计算文件长度失败");
}
else
{
printf("当前文件有%d个字节", length);
} fclose(pf);
} system("pause");
}
10 perror
perror(s) 用来将上一个函数发生错误的原因输出到标准设备(stderr)。参数 s 所指的字符串会先打印出,后面再加上错误原因字符串。此错误原因依照全局变量errno(这里的说法不准确,errno是一个宏,该宏返回左值) 的值来决定要输出的字符串。
在库函数中有个errno变量,每个errno值对应着以字符串表示的错误类型。当你调用"某些"函数出错时,该函数已经重新设置了errno的值。perror函数只是将你输入的一些信息和现在的errno所对应的错误一起输出。
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h>
#include<stdlib.h> main()
{
char path[] = "E:\\1.txt"; FILE *pf = fopen(path, "w");//创建文件指针,用fopen的返回值赋值
//fopen按照写的模式,打开路径对应的文件 if (pf == NULL)
{
printf("fail");
perror("输出的错误是");
} //fputs("hello world", pf);//写入了一个空指针会触发中断 //如果一个文件指针为空,不能写入,不能关闭 //fclose(pf);//关闭文件 system("pause");
}
11 remove
功能: 删除一个文件,相当于unlink函数,但是如果它的filename参数是一个目录的话,其作用就相当于rmdir函数。
用法: int remove(const char *filename); remove函数图片 remove函数图片 头文件:在Visual C++ 6.0中可以用stdio.h也可以用io.h,前者更普遍。
返回值:如果删除成功,remove返回0,否则返回EOF(-1)。
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h>
#include<stdlib.h> main()
{
char *filename = "E:\\1.txt"; int res = remove(filename); printf("%d", res); if (res == )
{
printf("删除成功");
}
else
{
printf("删除失败");
} system("pause");
}
12 rename
把文件、文件夹重命名
把文件重命名
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h>
#include<stdlib.h> main()
{
char oldname[] = "E:\\3.txt";
char newname[] = "E:\\1\\4.txt";
//如果不在同一文件夹,就剪切过来,然后重命名 if (rename(oldname, newname) == )
{
printf("重命名成功");
}
else
{
printf("重命名失败");
} system("pause");
}
把文件夹重命名
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h>
#include<stdlib.h> main()
{
char oldname[] = "E:\\1";
char newname[] = "E:\\2";
//如果不在同一文件夹,就剪切过来,然后重命名 if (rename(oldname, newname) == )
{
printf("重命名成功");
}
else
{
printf("重命名失败");
} system("pause");
}
13 sprintf
功能 把格式化的数据写入某个字符串缓冲区。
头文件 stdio.h
原型 int sprintf( char *buffer, const char *format, [ argument] … );
参数列表 buffer:char型指针,指向将要写入的字符串的缓冲区。 format:格式化字符串。 [argument]...:
可选参数,可以是任何类型的数据。
返回值 返回写入buffer 的字符数,出错则返回-1. 如果 buffer 或 format 是空指针,且不出错而继续,函数将返回-1,并且 errno 会被设置为 EINVAL。 sprintf 返回被写入buffer 的字节数,结束字符‘\0’不计入内。即,如果“Hello”被写入空间足够大的buffer后,函数sprintf 返回5。
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h>
#include<stdlib.h> main()
{
char str1[] = "note"; char str2[] = "pad"; char str[]; sprintf(str, "%s%s", str1, str2); puts(str); system("pause");
}
14 sscanf
int sscanf(const char *buffer,const char *format,[argument ]...);
buffer存储的数据
format格式控制字符串
argument 选择性设定字符串
sscanf会从buffer里读进数据,依照format的格式将数据写入到argument里。
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h>
#include <stdlib.h> main()
{
char str[] = "i have 1000 yuan";
int num; sscanf(str, "i have %d yuan", &num); printf("%d", num); system("pause");
}
15 system
calc计算器
system("start calc");并行打开计算器,即同时打开计算器
#include<stdio.h> main()
{
int i; for (i = ; i < ; i++)
{
system("start calc");
}
}
ipconfig查看IP配置
mspaint画图
notepad记事本
pause暂停
system("pause");
system("pause")可以实现冻结屏幕,便于观察程序的执行结果;system("CLS")可以实现清屏操作。而调用color函数可以改变控制台的前景色和背景,具体参数在下面说明。
tasklist查看所有进程
taskkill结束某个进程
通过名称结束进程
void closebyname(const char *name)
{
char cmdstr[] = { };
sprintf(cmdstr, "taskkill /f /im %s", name);
system(cmdstr);
}
通过PID结束进程
void closebypid(const int num)
{
char cmdstr[] = { };
sprintf(cmdstr, "taskkill /pid %d", num);
system(cmdstr);
}
#include <stdio.h>的更多相关文章
- 浅谈JSP中include指令与include动作标识的区别
JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...
- Entity Framework 6 Recipes 2nd Edition(13-9)译 -> 避免Include
问题 你想不用Include()方法,立即加载一下相关的集合,并想通过EF的CodeFirst方式实现. 解决方案 假设你有一个如Figure 13-14所示的模型: Figure 13-14. A ...
- error RC1015: cannot open include file 'afxres.h' 解决办法
在为WindowsPhone8程序添加本地化的过程中遇到这个问题: 问题原因就是afxres.h文件缺失,下载它,放到VS安装目录下的VS\include目录下就可以了(选择目录的时候注意对应对版本) ...
- Mybatis常用总结:参数,返回,执行sql,include等
1.参数注入1.1用#{0},#{1}的形式,0代表第一个参数,1代表第二个参数 public List<RecordVo> queryList(String workerId, Inte ...
- jsp中的@include与jsp:include区别详解
1 前言 搞java开发的人也许都知道在jsp中引入项目中其他文件有如下两种方式 <%@include file="xxx.jsp"%> <jsp:include ...
- JSP中编译指令include与动作指令include的区别
include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改, 否则视为已被修改.由于被包含的文件是在编译时才插入的,因此如 ...
- C/C++ 中的include
当需要使用已有的方法或库时, 可以将它们的头文件#include进来. #include会在preprocess过程中被替换成它包含的代码. 头文件中包含了需要使用的函数/变量的声明. 当然声明与定义 ...
- 织梦多语言站点,{dede:include filename=''/}引入问题
织梦模板include插入非模板目录文件出现"无法在这个位置找到"错误的解决办法 以下是dede V55_UTF8 查dede include标签手册 (3) include 引入 ...
- PHP 站点相对包含,路径的问题解决方法(include,require)
以前看了,很多框架,基本上很少使用相对路径包含.而一般很多做php web站点,喜欢用相对路径. 认为这样,无论目录放到那里. 只要跟另外目录关系一致.那么就不会出现问题.如果一个站点,一般都认为,如 ...
- 如何让include标签包裹的布局置于屏幕最下方?
如何让一个Layout 始终在屏幕的下方 我想让<include layout="@layout/bottom" />一直在屏幕下,怎么做? 1.相对布局中用属性 a ...
随机推荐
- 从一个Bug说开去--解决问题的思路,Linked Server, Bulk Insert, DataTable 作为参数传递
声名— 部分内容为杜撰,如有雷同,不胜荣幸! 版权所有,如要引用,请标明出处! 如果打赏,请自便! 1 背景介绍 最近一周在忙一个SQL Server 的Bug,一个简单的Bug,更新两张 ...
- Google map v3 using simple tool file google.map.util.js v 1.1
/** * GOOGLE地图开发使用工具 * @author BOONYACHENGDU@GMAIL.COM * @date 2013-08-23 * @notice 地图容器的z-index不能小于 ...
- Makefile里调用Shell注意点
http://www.linuxidc.com/Linux/2012-04/59093.htm 大家经常编写和使用Makefile, Makefile里面也经常用到shell, 但对其中一些需要注意的 ...
- cocos2d-x 打包工具用Shell 还是 用 Python
功能上说两种脚本都可以完成工作.但是跨平台开发用Shell意味着脚本要写两套.Macosx 的bash 和window bat.如果用python写一套就可以了.
- ShareSDK QQ分享失败的坑
QQ分享的话,有标题和内容字符数限制,QQ好友的话限制的很小,标题30字符,内容40字符.分享之前限制一下.
- 如何一步步把网站Retina优化
随着高清屏幕.高分辨率屏幕越来越流行,例如MacBook Retina机型.iPad Air系列,这些新生机器有着很高的PPI,对网页的清晰度要求很高,所以越来越多的站长都不得不面临一个问题,那就是把 ...
- Tsinghua dsa pa2
第一题,列车调度(train) 在这个题目中,模拟压栈出栈,同时判断调度方案是否可行. #include <cstdio> #include <cstring> #define ...
- 【单点更新,区间查询,线段树】【HDU1166】【敌兵布阵】
线段树要捡回来学了 才知道以前抄的模板就是杭电传奇学长写的,写起来更有激情了: 一点注意: 单点更新完后记得pushup(),向上更新信息 以下是对线段树的理解 线段树的节点代表一段线段,节点编号没有 ...
- 关于constructor与 Prototype的理解
constructor:每一个函数的Prototype属性指向的对象都包含唯一一个不可枚举属性constructor,该属性的值是这么一个对象:constructor指向了它所在的构造函数Protot ...
- 移动端的几款jq插件
移动手机用户的数量每日都在增长,人们现在都习惯于使用手机来浏览网页,看小说,读新闻.如何确保你的网站对移动用户友好,是目前你需要解决的最重要的问 题之一.这里给大家介绍10款在移动手机上使用的jQue ...