Probleme GTK C Lecture dans un Text_Buffer

Résolu/Fermé
mazareth Messages postés 271 Date d'inscription mardi 25 décembre 2007 Statut Membre Dernière intervention 5 mars 2019 - 1 juin 2009 à 00:22
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 9 juil. 2009 à 22:48
Bonjour,
Bonsoir,
j'espere trouver de l'aide ici.

voici mon probleme j'ecrit dans un fichier et ensuite je relit immediatement après.

Le fichier n'est pas du tous modifié??????

voila se que ca affiche

ON ENREGISTRE
save = DEBUT

MOV R1,A
ADD A,R7


AAAAA


FIN
save = MOV R3,R7
MOV R1,A
ADD A,R7
SUBB R5,R7
ANL A,R7
ORL R0,R1
XRL R3,R7
CLR
SJMP LBL1



MOV R1,#27
MOV R2,#12
ADD A,R1
SUB A,R2
CLR R1
?LBL1


le code
fprintf(stdout,"ON ENREGISTRE\n");
GtkWidget *window1;
GtkWidget *AffCode;
window1=lookup_widget(GTK_WIDGET(menuitem), "window1");
AffCode=lookup_widget(GTK_WIDGET(window1), "AffCode");
gchar save[1000];
LireDansTextView(AffCode, save);

long lSize;

//obtention des tailles
fseek(micro->code , 0 , SEEK_END);
lSize = ftell (micro->code);
rewind (micro->code);

fprintf(stdout,"save = %s\n",save);
// copie
fwrite (save,sizeof(char),lSize,micro->code);
rewind (micro->code);
fread (save,sizeof(char),lSize,micro->code);
fprintf(stdout,"save = %s\n",save);



Cela fait parti d'un tous mais je pense que l'erreur se trouve par ici.
A voir également:

6 réponses

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
1 juin 2009 à 02:51
Bah à un moment ton fprintf il faut le faire sur un FILE* ouvert en écriture via fopen (et qu'il faudra fermer avec fclose si tu l'ouvres avec succès) parce que pour le moment tu écris tout sur la sortie standard (stdout).
#include <stdio.h>

int main(){
  const char *filename = "pouet.txt";
  FILE *fp = fopen(filename,"w");
  if (!fp){
    fprintf(stderr,"can't write %s\n",filename);
    return 1;
  }
  fprintf(fp,"pouet pouet");
  fclose(fp);
  return 0;
}

Bonne chance
0
mazareth Messages postés 271 Date d'inscription mardi 25 décembre 2007 Statut Membre Dernière intervention 5 mars 2019 28
1 juin 2009 à 09:18
ici


fwrite (save,sizeof(char),lSize,micro->code);
rewind (micro->code);
fread (save,sizeof(char),lSize,micro->code);
fprintf(stdout,"save = %s\n",save);


normalement j'ecrit dans mon fichier,non??
j'ecrit se qu'il y a dans save.
ensuite mon fichier je reviens a la premiere ligne et je fait fread donc normalement il devrai valloir la meme valeur que le premier save.


en gros je fait une sauvegarde de fichier texte.
quand l'utilisateur fait enregistrer je veut prendre le text de ma widget qu'il a ou non modifié et l'envoyer des mon micro qui est une structure contenant toute mes données.
0
mazareth Messages postés 271 Date d'inscription mardi 25 décembre 2007 Statut Membre Dernière intervention 5 mars 2019 28
1 juin 2009 à 09:44
bon j'etai fatigué hier soir.

donc en faite tous marche bien a part que comme l'ouverture de fichier se fait dans un initmicro je me souvenait plus que j'ouvrai le fichier en "r" et pas en "r+"


merci tu ma mis sur la vois

petite idication quand meme en "r+" est ce que je peut agrandir le fichier initial??
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
1 juin 2009 à 14:53
Ah oui j'avais pas fait gaffe au fwrite, moi aussi j'étais fatiguée. Pour les différentes manières d'ouvrir un fichier, tape dans une console ou dans google :
man fopen

Si tu veux écrire à la fin d'un fichier, c'est peut être le mode append qui t'intéresse.

Bonne chance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mazareth Messages postés 271 Date d'inscription mardi 25 décembre 2007 Statut Membre Dernière intervention 5 mars 2019 28
9 juil. 2009 à 12:59
Quelque moi plus tard

merci !!!!


comment camarche ne m'avai pas averti de la reponse
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
9 juil. 2009 à 22:48
Mieux vaut tard que jamais.
Pour les notifications pas mail ça se configure dans ton profil CCM.

Bonne continuation !
0