您的位置:首页 > 其它

每日一c 追加方式 写入文件FILE *fp

2013-06-03 21:56 411 查看
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>

int main()
{
FILE *pf;//定义一个文件指针   大写通常定义的变量都是指针  封装好的_t才是整数类型
char buf[100];//定义一个缓冲区是100的变量

pf = fopen("my","w+");//以读写的方式打开my文件
if(pf == NULL)//如果文件空打开失败
{
perror("open");
exit(1);
}

strcpy(buf,"hello\n");//拷贝

fputs(buf,pf);//将 一行  字符串写入pf

fclose(pf);

bzero(buf,100);
pf = fopen("my","a+");//以追加的方式打开文件

if(pf == NULL)
{
perror("open");
exit(1);
}

strcpy(buf,"world\n");//将world 拷贝到 buf中
fputs(buf,pf);//将world  追加到  pf文件中.

fclose(pf);

}


#include <stdio.h>
#include <string.h>
/*fgets(buf,n,pf)        memset(buf, 0, sizeof(char)*5)*/
int main()
{
FILE *stream;//定义文件指针
char buf[20];//定义字符数组

stream  = fopen("file.txt","r");//打开文件 并返回文件指针  *stream  文件的指针是一个结构体  具体类型。。
if(stream == NULL)//如果没成功的打开
{
perror("fopen");
return -1;
}

memset(buf, 0, sizeof(char)*5);//清理缓存 清空缓存,
//memset(buf,0,0);  为什么两次结果一样?
fgets(buf, sizeof(buf), stream);//从文件中获得一串字符  到  buf中
printf("buf=%s\n", buf);//打印buf
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: