/*
**fgetc,fputc函数的用法
**在使用fgetc和getchar()时,应该避免写出和操作系统相关的程序
**使用fgets(buf,maxn,fin);读取完整的一行
*/
#include<stdio.h>
#include<string.h>
int main()
{
FILE *fp;
FILE *fp2;
int c;
fp = fopen("F:\\c language\\testchar.txt", "r");
fp2=fopen("F:\\c language\\testchar_new.txt","w");
while((c = fgetc(fp)) != EOF)
{
fputc(c,fp2);
printf("%c", c);
}
fclose(fp);
fclose(fp2);
return 0;
}
/*
**fgets函数用法
** char * fgets(char * string, int size, FILE * stream);
**string为一个字符数组,用来保存读取到的字符。
**size为要读取的字符的个数。
**如果该行字符数大于size-1,则读到 size-1 个字符时结束,并在最后补充' \0';
**如果该行字符数小于等于 size-1,则读取所有字符,并在最后补充 '\0'。
**即,每次最多读取 size-1 个字符。
**stream为文件流指针。
**返回值:gets()若成功则返回s 指针, 返回NULL 则表示有错误发生.
*/
#include<stdio.h>
#include<string.h>
int main()
{
FILE *fp;
char s[80];
int c;
fp = fopen("F:\\c language\\testchar.txt", "r");
fputs(fgets(s, 80, fp), stdout);//每次最多读取 size-1 个字符。一旦读到回车符'\n',读取就会结束,
fclose(fp);
return 0;
}
/*
**不要使用gets(),存在缓冲区溢出漏洞
**在c11标准中,gets()函数已经被正式废除
*/