ZZ,
thanks for your comment!
But is it so tough? database and all that?
All I want to do is to have the ability of editing an existing file.
Since directly editing the file is not recommended, this is the reason
why I want to open it as buffer!

On Fri, 2013-01-25 at 16:10 +0100, z...@excite.it wrote:
> On Friday 25 January 2013 14:57:23 Rudra Banerjee wrote:
> > Dear friends,
> > as evident from my last few posts, I am struggling with opening a file
> > as buffer and write to it
> > (guess it has *nothing* to do with gtk, but C. Still I will be grateful
> > if you people kindly help). 
> > So, first, how to open file in buffer?
> > 
> > /* Files opened and edited directly*/
> > /*  FILE *fop = fopen(filename, "a" );
> >   if (!fop){
> >     filename="Untitled.bib";
> >     fop= fopen(filename,"a");
> >   }
> > */  
> > 
> > /*Trying to open file as buffer and edit that*/
> >   FILE *fopf = fopen(filename, "a" );
> >   if (!fopf){
> >     filename="Untitled.bib";
> >     fopf= fopen(filename,"a");
> >   }
> 
> 
> You have to open, read  (and then close) the file into a static or malloced 
> buffer of sufficient size,
> then you can operate on the buffer. When your are done you write out the 
> buffer
> to a newfile, delete the old and rename the new to old.
> 
> >   char fop[]="Hello World";
> >   int buf_size= strlen(fop)+1;
> >   fwrite(fop,buf_size,1,fopf);
> >   if(!fop){
> >     printf("failed");
> >   }
> >   fclose(fopf);
> > 
> >   gtk_label_set_text(GTK_LABEL(flabel), filename);
> >     printf( fop, "@%s{%s,\n", strcombo, strkey );
> >   if( strlen(strAuth)!=0)
> >     printf( fop, "\tAuthor=\"%s\",\n", strAuth);
> >   if( strlen(strEditor)!=0)
> >     printf( fop, "\tEditor=\"%s\",\n", strEditor);
> >   if( strlen(strTitle)!=0)
> >     printf( fop, "\tTitle=\"%s\",\n", strTitle);
> > //  fclose(fop);
> > 
> > 
> > The very first part of the code (commented) used to access the file
> > directly, an approach that I was advised against. So I tried to open the
> > file in buffer. But this implementation makes the program crash as soon
> > as enter some value. 
> > 
> > Please help
> > 
> 
> PS.: at the first glance it seems to me you need a database backend
> like sqlite to save, store, change and retrieve your data.
> 
> Ciao,
> ZZ
> _______________________________________________
> gtk-app-devel-list mailing list
> gtk-app-devel-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to