Probleme de déclaration. [C] - C++ - Programmation
Marsh Posté le 02-05-2002 à 22:47:15
Dans la compilation, chez moi, ça bloque sur le "sizeof test".
Et c'est normal... Il faut faire "sizeof(struct test)".
Car tu n'as pas déclaré "test" comme alias de "struct test" !
voilà !
Marsh Posté le 02-05-2002 à 23:13:06
merci ;-)
J'ai aussi decouvert que je devais mettre
Citation : void clrscr(); |
Marsh Posté le 03-05-2002 à 00:52:05
En fait, tu as deux possibilités ici:
Soit tu modifies ta structure comme suit:
struct test
{ int age;
char nom[20];
} test;
Et le compilo C la compilera,
soit tu renommes ton fichier en .cpp, et le compilo C++ le compilera a condition que tu rajoutes un
return 0;
a la fin de ta procedure principale.
A+,
Marsh Posté le 02-05-2002 à 20:45:36
Slt a tous, c'est encore moi...
Je crée un programme qui crée un ficher et qui y rentre des infos...
Mais la maintenant il me dit que "TEST" n'est pas declaré, pourtant c'est une fonction, enfin si quelqu'un pouvait jeter un coup d'oeil, merci.
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#define END 64
struct test
{ int age;
char nom[20];
};
main()
{
FILE *fp;
char filename[81];
int i, rep1, rep2;
int c;
struct test x;
//clrscr();
printf("Enregistrement dans le fichier DBPROJET.dat\n" );
do
{
gets(filename);
strcpy(filename, "c:\\KEYAERT\\DBPORJET.dat" );
if ((fp = fopen(filename, "wb" )) !=NULL)
{
printf("Fichier existant. Le remplacer? (o/n)" );
rep1 = getche();
rep1 = toupper(rep1);
if (rep1 !='O'
fclose(fp);
}
else
break;
} while (rep1 == '0';
/* if (fp !=NULL)
fclose(fp);
if ((fp = fopen(filename, "rw" )) == NULL)
{
printf("\n****Impossible d'?crire dans le fichier.****\n" );
exit(1);
}
printf ("\nEntrez votre texte (Fin par <@> + <Entr?e> :\n" );
//while (( c = getchar()) !=END)
*/ x.age = 20;
strcpy(x.nom,"Dupont" );
fwrite(&x,sizeof(struct test),1, fp);
x.age = 22;
strcpy(x.nom,"Durand" );
fwrite(&x,sizeof(struct test),1, fp);
fclose(fp);
/*******Affichage du contenu du fichier*******/
/* printf("Afficher le fichier? (o/n)" );
rep2 = getche();
rep2 = toupper(rep2);
if (rep2 == 'O'
{
*/ if ((fp = fopen(filename, "rb" )) == NULL)
{
printf ("\nErreur d'ouverture du fichier.\n" );
exit(2);
}
printf("\nContenu du fichier %s :\n", filename);
i=0;
fread(&x,sizeof test,1,fp);
while (!feof(fp))
{
puts(x.nom);
fread(&x,sizeof test,1,fp);
}
/* if (i==20)
{
printf("\n<Entr?e> pour page suivante." );
getch();
i=0;
}
}
fclose(fp);
}
*/ getch(); }
bcp de commandes sont mise en commentaire, le temps de tout tester pas à pas.
merci
---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net