标签:长度 fopen 地址 count 位置 保存到文件 错误 har cat
fopen:打开文件.第一个参数文件名的字符串地址。打开模式:r:读 w:写,会改 没有就创建 a:追加 ,没有就创建 r+:读取和写入 w+:同上但会改 没有就创建
a+:同上,但是追加           rb,wb,ab,ab+,a+b,wb+,w+b,ab+,a+b,使用二进制模式而不是文本模式打开,其他类似
								  
getc():到达文件结尾时,会返回EOF   putc()  与getchar()、putchar类似但适用于文件       putc(ch,文件指针)
fclose 关闭由指针fp指定的文件
#include<stdio.h>
int main()
{
	int ch;
	FILE * fp;
	fp = fopen("49.c","r");
	while((ch = getc(fp)!=EOF))
		putchar(ch);
fclose(fp);
}
//要指定文件的属性
#include<stdio.h>
#include<stdlib.h>//exit()
#include<string.h>
#define LEN 40
int main(int argc,char *argv[])
{
	FILE *in,*out;
	int ch;
	char name[LEN];
	int count  = 0;
	if(argc < 2)
	{
		fprintf(stderr,"error!");
		exit(1);
	}
	
	if((in = fopen(argv[1],"r")) ==NULL)
	{
		fprintf(stderr,"ERROR!");
		exit(2);
	
	}
	
	strcpy(name,argv[1]);
	strcat(name,".red");
	if((out = fopen(name,"w")) == NULL)
	{
		fprintf(stderr,"ERROR1");
		exit(3);
	}
	while((ch = getc(in)) != EOF)
		if(count++ % 3 == 0)
			putc(ch,out);
	if(fclose(in) != 0 || fclose(out) != 0)
		fprintf(stderr,"ERROR2");
return 0;
}
文件I/O:fprintf(),fscanf(),fgets(),fputs();
fgets()第一个参数与gets相同,存储输入的地址,第二个输入字符串的最大长度,第三个指向要读取的文件,自动在最大数目达到前加‘\0’,所以读取MAX-1个字符
----最大数目前读完,在‘\0’前加个‘\n’            
fputs()不会添加换行符 stdin,stdout键盘输入和输出
fseek()在打开的文件中直接移动到任意字符处
ftell()返回文件的当前位置
fgetpos() fsetpos 文件比较大时用
ungetc()放回字符
fflush()刷新缓存区
setvbuf()建立一个供标准I/O文件使用的替换缓存区
二进制I/O:fread()和fwrite()修正了数字保存到文件中,fprintf()存的时候会把它变为字符串存储,1/3变为了0.333333
feof()检测到文件结尾返回非零值,ferror()读写错误,返回一个非零值
标签:长度 fopen 地址 count 位置 保存到文件 错误 har cat
原文地址:http://www.cnblogs.com/zxj-262410/p/6691255.html