nialcen
Messages postés7Date d'inscriptionjeudi 19 juillet 2007StatutMembreDernière intervention17 janvier 2012
-
30 janv. 2008 à 15:37
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013
-
31 janv. 2008 à 10:00
Bonjour a tous j'espere que vous pourrez m'aider.... j'ai fouiller le net avant de vous deranger mais pas de solution : alors voila,
je suis sur dev c++ et je ve creer un pti prog en C qui ecri dans un fichier texte une suite de ligne de texte avec des variables dedans, mais a la compile, jj'ai ce message
Invalid argument
Id returned 1 exit status
et mon code,
#include<stdio.h>
main()
{
int i=0,j=0,stop;
FILE * X;
X=fopen("script.txt", "w");
for (i=0;i<117;i++)
{ for (j=0;j<52;j++)
{
fprintf (X,"INSERT INTO `chaos_dimensions`.`batiment` (`id` ,`batiment` ,`posx` ,`posy` ) VALUES ( '', 'water', '%d', '%d');",i,j);
}}
getch();
}
visiblement c'est le printf qui foire mais pourquoi ?
si vous pouvez m'aidez, merci d'avance
nialcen
Messages postés7Date d'inscriptionjeudi 19 juillet 2007StatutMembreDernière intervention17 janvier 2012 30 janv. 2008 à 22:52
Merci a vous
Bon alors j'ai passé mon main en void main ()
jai essayé en int main() avec un return 1 ; a la fin, mais ça marce pas.....toujours le meme message.
Aprés avec les ", c'est pour quels cottes ? parce que il y a
' touche 4 ne change rien
` touche 7 [Warning] unknown escape sequence '\`'
" touche 3 si sur le premier : stray '\' in program et sur les deux la meme chose , mais ya plus de double cotte fermantes et bug....
Une autre solution ?
tout ce que je veux c faire variée les valeur dans les pour et ecrire le texte avec les valeur de i et j dans un fichier texte .....
Neo_Fr
Messages postés653Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention10 novembre 20142 30 janv. 2008 à 23:31
Chez moi ca compile sans pb..:
int main(void)
{
int i, j;
FILE* pFile;
pFile = fopen("script.txt", "w");
for(i=0; i<117; i++)
for (j=0; j<52; j++)
{
fprintf(pFile, "INSERT INTO `chaos_dimensions`.`batiment` (`id` ,`batiment` ,`posx` ,`posy` ) VALUES ( '', 'water', '%d', '%d');\n", i, j);
}
fclose(pFile);
return 0;
}
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 31 janv. 2008 à 10:00
Salut,
Pour commencer tu dois toujours verifier le retour des fonctions utilisées sinon a quoi bon.
Deuxième choses, on désalloue systématiquement tous les pointeur en fn de traintement.
Donc :
FILE * pFile;
pFile = fopen("c:\\script.txt", "w+t");
/*......*/
if(!pFile) return -1; //On suppose que ta fonction main est déclaré int main()
/*......*/
fprintf(...);
/*......*/
fclose(pFile);
Il est peut etre aussi utile de rappeler que la fonction main() est de type int par défaut.