Bonsoir tout le monde ,
je débute en C voila je voulais savoir si c'était possible d’écrire dans un buffer de type char* au lieu d'un fichier
voila mon vout de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
fdest = fopen("\\temp.tmp", "wb");
		fprintf(fdest, "BM");	
		fprintf(fdest, "%c%c%c%c", (0) & 0xff, ((0) >> 8) & 0xff, ((0) >> 16) & 0xff, ((0) >> 24) & 0xff);
		fprintf(fdest, "%c%c%c%c", (54) & 0xff, ((54) >> 8) & 0xff,((54) >> 16) & 0xff, ((54) >> 24) & 0xff);
je souhaite au lieu d’écrire directement dans le fichier utiliser un char* et le remplir,
la solution bête que j'ai trouvé c'est d'écrire dans le fichier le fermer puis le recharger en mémoire comme cela :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
source= fopen("\\temp.tmp","rb");
	fseek(source, 0, SEEK_END);
	outputSize = ftell(source);
	fseek(source, 0, SEEK_SET);
 
	unsigned char* out = out =(unsigned char *) malloc(outputSize);
	 fread(out,1,outputSize, source);
	fclose(source);
je vous en serai très reconnaissant si vous pouviez m'aider à trouver une solution

cdt,