码迷,mamicode.com
首页 > 其他好文 > 详细

文件输入/输出

时间:2017-04-10 23:41:21      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:长度   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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!