c语言把文件存在电脑,C语言文件操作

阅读: 评论:0

c语言把文件存在电脑,C语言文件操作

c语言把文件存在电脑,C语言文件操作

C语言文件操作

有一个文件,在任意的ab之间完成换行的操作,如何完成? 例如文件名是a.txt,内容为: afadfadabkakjabafaeuabdferhv afertfadabkertakjabafartyeu 如何操作使之成为 afadfada bkakja bafaeua bdferhv afertfada bkertakja bafartyeu 并替换原来的文件? 1楼: 读到缓存中,怎么读啊?难道直接用fp=fopen(e:a.txt)就行了?那么fp指向什么地方呢?好像不是这个文件的首部啊?因为我试着输出printf('%d',*fp)的时候,即使fp在一直增加,也输出为零,有时还出现内存泄漏的问题。 2楼: 你的程序我在看,有的函数不太懂,如果可以的话就给分

更新时间:2019-05-06 15:16

最满意答案

//---------------------------------------------------------------------------

#include

#define FILENAME "c:\in.txt"/*源文件名*/

int main(VOID)

{

FILE *fp,*tmp;

char a,b;

tmp=tmpfile();/*创建一个

临时文件*/

fp=fopen(FILENAME,"r");

while (!feof(fp))

{

a=getc(fp);

fwrite(&a,sizeof(char),1,tmp);

if (a=='a') {

b=getc(fp);

if (a=='a'&&b=='b') {

a='n';

fwrite(&a,sizeof(char),1,tmp);

}

fwrite(&b,sizeof(char),1,tmp);

}

}

rewind(tmp);

freopen(FILENAME,"w",fp);

while (!feof(tmp)){

fread(&a,sizeof(char),1,tmp);

if (a==-1) break;

fputc(a,fp);

}

fclose(fp);

fclose(tmp);

return 0;

}

//---------------------------------------------------------------------------

2008-09-11 回答

其他回答

不要你分,只想教你一种学习方法,别人教你的不一定是你想要的,自己掌握才是真正的。

首先:

file *m_file=fopen("文件名","打开方式") 参考.htm

接着:

char buff[n]="n是你想存取的大小!选择文件打开方式会决定是重写还是接着写等";

fwrite( buff, 1, n, m_file);参考.htm

最后:

fclose(m_file);

在c语言下还有其它常用的文件操作函数:

fread,fflush,ftell,fseek

这些在用法和说明在百科里都有。

2008-09-11 回答

相关问答

你每次都通过lseek把指针设置到文件中间,所以ret=read(...)总不会是null。

用数组实现的栈 //-* Header File- #ifndef __STACK_H__ #define __STACK_H__ struct StackRecord; typedef struct StackRecord *Stack; int

照你那样说的插入是不太可能的,从底层看,文件一般都是通过重写插入删除数据的。 如果你要插入的话,就是把插入点之后的数据全都复制下来,然后写上要插入的东西,然后再把复制的数据全部粘上。 删除也是一样,把你要删除的数据用后面的数据覆盖上。 无论什么编辑器都是以这样的原理实现的。可能它们用了这样或那样的算法优化这一过程,但这一过程是不会变的(不只编辑器,OS也会对这一过程进行优化)。 所以,如果在文件的第一个字符插入或删除,那么效率是最低的。因为要写入最多的字符。下面是个实例。 比如文件中有以下字符 a

...

楼主的程序如下: #include #include int main(void) {   FILE *p;   p = (FILE *)malloc(sizeof(FILE));   if((fopen(&#","w"))==NULL) /* 这样并没有把档案控制指针赋值给 p */   {     printf("open p error!");     exit(0);   }   fprintf(p,"%s","Hello world!");

...

/* * 别把文件都放在桌面,因为各用户系统的桌面路径是不同的 * 放在和程序同一目录下吧 */ #include int main() { int a[5], b[4], c[9] = {0}; int i, j, k = 5; int flag; FILE *fp; if ((fp = fopen(&#", "r")) == NULL) { printf(" fails, n"); return -1; } for (i = 0; i

...

//prog.c源码清单********************************************************************************************************* #include #include #define BOOL int #define TRUE 1 #define FALSE 0 int main(int argc,char *argv[]) { char buf[1024]

...

1,两种文件存取方式(输入,输出方式) 顺序存取 直接存取 2,数据的两种存放形式 文本文件 二进制文件 13.2文件指针 定义文件类型指针变量的一般形式: FILE *指针变量名; 例如: FILE *fp1,*fp2; 13.3打开文件 在使用文件之前,需打开文件.在C里使用fopen函数打开文件.格式为: fopen(文件名,文件使用方式); 此函数返回一个指向FILE类型的指针.如: FILE *fp; fp=fopen("file_1","r"); 如果调用成功,fp就指向file_1,

...

文件很有用,而且非常重要! (注:文件是一个大的概念(它不只是.txt或.bat文件,要知道你编写后的可执行程序本身(.exe)也是文件),所有的存储在外部介质上的数据都是文件!) 比如说,编写一个电子词典(简单查询程序),你不可能将成千上万的单词 都以代码的方式写到程序里吧!但你可以从网上下载英语单词的txt 文件,将其放到指定的位置,利用文件,在程序运行时以一定的格式 将其读入程序。简单 实用 方便! (我就以这种方式编写了 英汉互译 的电子词典) 程序没有记录功能,关闭后会丢失你输入的信息,

...

#include #include #include typedef struct stu { int no; char name[30]; struct stu *next; }node; node *create(node *h) { node *head=NULL,*pre,*cur; int n; printf("请输入数据总数:"); scanf("%d",&n); for(int i=0;i<=n;i++) { pre=(node

...

//--------------------------------------------------------------------------- #include #define FILENAME "c:\in.txt"/*源文件名*/ int main(VOID) { FILE *fp,*tmp; char a,b; tmp=tmpfile();/*创建一个 临时文件*/ fp=fopen(FILENAME,"r"); while (!feof(fp)) { a=getc(fp);

...

本文发布于:2024-02-01 18:07:53,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170678230038503.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:语言   文件   操作   电脑
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23