>scanf(); //格式化输入中:“ ”“\n”“\t”作用相同
不能读入空格
***************************
#define N 10 //宏定义
***************************
***************************
>windows.h:
Sleep(); //延时函数,单位毫秒;
gotoxy; //光标移动到(x,y),不会闪屏
HideCursor(); //隐藏光标
***************************
void HideCursor() //隐藏光标
{
CONSOLE_CURSOR_INFO cursor_info = {1, 0};
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
***************************
void gotoxy(int x, int y) //光标移动
{
COORD coord = {x, y};
/*COORD是Windows API中定义的一种结构,表示一个字符在控制台屏幕上的坐标。其定义为:
typedef struct _COORD
{
SHORT X; // horizontal coordinate
SHORT Y; // vertical coordinate
} COORD;*/
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
***************************
***************************
>stdlib.h
system("cls"); //清屏
system("pause"); //暂停
a=rand(); // 随机数:大小从seed到RAND_MAX
rand()%(a-b)+a 表示产生[a,b]长度的随机数
srand(unsigned int) //随机种子
exit(0); //正常结束程序
***************************
***************************
>time.h
time_t t; //在人类灭亡前:类型也可为longlong,不能为long
t=time(0); //括号内为指针,可以%ld%u&d格式输出
t=time(NULL); //Windows中0和null作用相同
//以秒的形式记录系统的时间
s=ctime(&t); //可以%s格式输出
//将t转换为日期
***************************
***************************
>conio.h
a=getch(); //从键盘直接得到一个字符,不用按回车(不进入缓存区)
kbhit(); //检测键盘是否有键按下。
如果有键按下,则返回对应键值;否则返回零。
kbhit不等待键盘按键。无论有无按键都会立即返回。
***************************
***************************
>文件操作
*打开文件
{
FILE *fp; //文件结构体指针
fp=fopen("c:\\...\\xx.txt","r"); //FILE *fopen(char *pname,char *mode)
fopen("a","b"),a为地址,b为操作,返回值为文件地址/NULL
if (fp==NULL) //文件不存在,且b不为写操作,错误退出
{
printf("The file <%s> can not be opened.\n",a);
exit(0);
}
}
*关闭文件
{
if(fclose(fp)) //int fclose(FILE *fp),返回值为0:正确关闭;EOF:非正常关闭
{
printf("close defeat!");
exit(0);
}
}
*1.显示文件内容/2.复制文件
{
ch=fgetc(fp); //int fgetc(FILE *fp)从fp所指文件的当前指针位置读取一个字符
while(ch!=EOF) //判断刚读取的字符是否是文件结束符
{
1.putchar(ch); //若不是结束符,将它输出到屏幕上显示
2.fputc(ch,fp2); //int fputc(int ch,FILE *fp)若不是结束符,将它写入fp2所指文件
ch=fgetc(fp); //继续从fp所指文件中读取下一个字符
} //完成将fp所指文件的内容输出到屏幕上显示
}
*打开文件的使用方式
“r”——只读,以只读方式打开已存在文件。
“w”——只写,以只写方式新建文本文件,若存在同名文件则刷新已有文件。
“a”——追加,以只读方式打开文已存在本文件,数据追加到末尾。
“r+”——读写,为读/写方式打开已存在文本文件。
“w+”——读写,以读/写方式新建文本文件,若存在同名文件则刷新已有文件。
“a+”——读写,以读/写方式打开已存在文本文件,数据追加到末尾。
FILE *fopen(char *pname,char *mode)
int fclose(FILE *fp)
int fgetc(FILE *fp)
int fputc(int ch,FILE *fp)
char *fgets(char *str,int n,FILE *fp) //从由fp指出的文件中读取n-1个字符,并把它们存放到由str指出的字符数组中去,
最后加上一个字符串结束符'\0'。
int fputs(char *str,FILE *fp) //正常返回: 写入文件的字符个数,即字符串的长度。
非正常返回:返回一个NULL值,此时应当用feof()或ferror()函数来判别是读取到了文件尾,
还是发生了错误。例如,要往一个"读打开" 文件中写字符串时,
会发生错误而返回一个NULL值。
int fprintf(FILE *fp,char *format,arg_list) //将变量表列(arg_list)中的数据,按照format指出的格式,写入由fp指定的文件。
Int fscanf(FILE *fp, char *format, 地址列表) //按照格式控制字符串format所给定的输入格式,把从fp所指向的文件当期那读写位置起读入的 数据,按地址列表存入指定的存储单元。从文件读入数据后,文件读写位置向后做相应的移动。
int fread(void *buffer,unsigned sife,unsigned count,FILE *fp)
//从由fp指定的文件中,按二进制形式将sife*count个数据读到由buffer指出的数据区中。
buffer:这是一个void型指针,指出要将读入数据存放在其中的存储区首地址。
sife:指出一个数据块的字节数,即一个数据块的大小尺寸。
count:指出一次读入多少个数据块(sife)。
返回值:正常返回:实际读取数据块的个数,即count。
异常返回:如果文件中剩下的数据块个数少于参数中count指出的个数,
或者发生了错误,返回0值。此时可以用feof()和ferror()来判定到底出现了什么情况。
int fwrite(void *buffer,unsigned sife,unsigned count,FILE *fp)
//按二进制形式,将由buffer指定的数据缓冲区内的sife*count个数据写入由fp指定的文件中去
buffer:这是一个void型指针,指出要将其中数据输出到文件的缓冲区首地址。
sife:指出一个数据块的字节数,即一个数据块的大小尺寸。
count:一次输出多少个数据块(sife)。
返回值:正常返回:实际输出数据块的个数,即count;
异常返回:返回0值,表示输出结束或发生了错误。
int feof(FILE *fp) //该函数用来判断文件是否结束。返回值0:表示文件未结束;1:表示文件结束。
long ftell(FILE *fp) //取得由fp指定文件的当前读/写位置,该位置值用相对于文件开头的位移量来表示。
返回值:正常返回:位移量(这是个长整数);异常返回:-1,表示出错。
void rewind(FILE *fp) //使由文件指针fp指定的文件的位置指针重新指向文件的开头位置。
int fseek(FILE *fp,long offset(L?),int base) //使文件指针fp移到基于base的相对位置offset处。
offset:相对base的字节位移量。这是个长整数,用以支持大于64KB的文件。
base:文件位置指针移动的基准位置,是计算文件位置指针位移的基点。
参数:SEEK_SET:文件开头(0);SEEK_CUR:当前位置(1);SEEK_END:文件结尾(2)
返回值:正常返回:当前指针位置;异常返回:-1,表示定位操作出错。
fflush( FILE *stream ) //刷新缓冲区