#include "stdio.h"
#include "stdlib.h"
void main()
{
FILE *fp;
char ch;
fp = fopen("C:\\file.txt","wt+");
if(fp == NULL)
{
printf("\n cannot open C:\\file.txt file!");
getchar();
exit(1);
}
printf("input a string:\n");
/*从键盘读入一个字符后进入循环,当读入字符不为回车符时,
则把该字符写入文件中,然后继续从键盘读入下一个字符*/
while((ch = getchar()) != '\n')
{
fputc(ch, fp);
}
rewind(fp); //fp所指 文件的内部位置指针 移到文件头
while(!feof(fp)) //feof函数来判断文件是否真的结束(end open file)
{
ch = getc(fp);
putchar(ch);
}
printf("\n"); //换行
fclose(fp);
}
/*
1.文件指针:用一个指针变量指向一个文件
FILE *指针变量标示符
2.打开文件:fopen
文件指针名 = fopen(文件名,使用文件方式);
注:文件名是字符串常量或字符串数组
FILE *fp;
fp = fopen("file1","r");
//fp = fopen("C:\\file2","rb");
3.判断是否完成文件打开操作
if(fp = fopen("C:\\file2","rb") == NULL)
{
printf("\n cannot open C:\\file2 file!");
getch();
从键盘输入一个字符,但不在屏幕上显示。作用是等待,只有当用户从键盘敲任一键时,程序才能继续进行,
因此用户可以利用这个等待时间阅读出错信息。
exit(1); 退出程序。
}
4.文件关闭函数fclose
fclose(文件指针);
fclose(fp); //正常完成关闭文件时,fclose函数返回值为0.
*/
/*
文件读和写:
字符读写函数:fgetc和fputc
字符串读写函数:fgets和fputs
数据块读写函数:fread和fwrite
格式化读写函数:fscanf和fprintf
1.fgetc从指定的文件中读一个字符。
字符变量 = fgetc(文件指针);
while((ch = fgetc(fp)) != EOF) //遇到文件结束符,函数返回一个文件结束标志EOF(即-1)
{
// printf("%c",ch);
putchar(ch);
}
2.fputc把一个字符写入指定的文件中
fputc(字符,文件指针);
*/