bonjour,
je me suis mis a kdevelop (avant visualC++),
et j'ai des petits problemes d'adaptation.
Voila, je n'ai pas de problemes de compilation, mais quand j'execute, rien ne s'est passe dans les fichiers ouverts, ou alors ils ne sont pas créés, alors que ça marche sous visual.....je suis perdu, aidez moi svp.
Aussi, flushall() n'est pas inclus dans stdio.h , ou est-il?
merci beaucoup de m'aider
# et le code ?
Posté par cho7 (site web personnel) . Évalué à 2.
# le code
Posté par raphos . Évalué à 1.
genre un simple programme d'essai, qui fonctionne su VC++.
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <iostream>
#include <cstdlib>
using namespace std;
int main(void)
{
FILE *fich=fopen("test1","w");
fprintf(fich,"ca roule");
fclose(fich);
return EXIT_SUCCESS;
}
Pas de probleme pour construire mais le fichier test1 n'est pas créé lors de l'execution.
C'est louche non?
[^] # Re: le code
Posté par med . Évalué à 1.
$ g++ test.cpp
$ ./a.out
$ cat test1
ca roule
[^] # Re: le code
Posté par Raphaël G. (site web personnel) . Évalué à 0.
int fflush (FILE *flux);
ps : pense a installer les man pages :
urpmi man-pages-fr
après y a plus qu'a tenter :
man 3 fopen
man 3 fflush
ps2: si tu a mis la completion tu peux même utiliser la tabulation pour compléter les nom de fonction quand tu tape la ligne de commande man x ...
[^] # Re: le code
Posté par raphos . Évalué à 1.
Et je vais installer le man pour m'instruire.
[^] # Re: le code
Posté par raphos . Évalué à 1.
Le code est bon logiquement, je dois avoir un probleme de compilateur, ou de make. Vous pensez a quoi?
[^] # Re: le code
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 1.
g++ -Wall test.cpp
pour afficher tout les warnings.
Et je pense aussi que tu devrais faire soit du C soit du C++,
mais pas ce que tu est en train de montrer. fopen, fprintf, ... sont des fonctions du C, Le C++ a des objets pour cela (istream, ostream et iostream pour ne citer qu'eux).
Sinon amha ton 'bug' est surement lié soit:
* au droit d'acces sur le repertoire d'execution de ton appli
* a la difference entre la ou tu crois qu'est lancé ton logiciel et la ou
il est vraiement lancé.
[^] # Re: le code
Posté par BlaX . Évalué à 1.
fopen renvoie NULL en cas d'echec. Tu devrais verifier ton fich. Si fich est NULL, il y a 9 chances sur 10 que ton fprintf genere un segfault. Sinon, si fich n'est pas NULL, le fopen a reussi a ouvrir ton fichier, et il n'y a (presque!) aucune raison que l'ecriture echoue.
Sinon, verifie aussi que tu cherches bien ton fichier "test1" au bon endroit: comme tu utilises un chemin relatif (./), ton fichier sera cree la ou ton executable se sera execute. Sous VisualC++ par exemple, il s'execute dans les repertoires Debug ou Release. Mefie toi donc qu'il ne soit pas ailleurs. Sinon, utilises un chemin absolu (/tmp par exemple).
Bon courage,
Xavier
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.