1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void f_WriteData( const char *p_src, const char *p_dst, const char *p_data ){
char *ptr = NULL;
FILE *pFile = NULL;
if( (p_src == NULL) || (p_data == NULL) ){
fprintf( stderr,"Aucun non de fichier ou donnée disponible\n");
exit( EXIT_FAILURE );
}
else if( (p_src != NULL) && (p_dst == NULL) ){
pFile = fopen( p_src, "a+" );
if( pFile == NULL ){
perror("Erreur ouverture du fichier\n");
exit( EXIT_FAILURE );
}
}
else{
ptr = (char*)calloc( (sizeof(p_src)+sizeof(p_dst) ) +2, sizeof(char) );
if( ptr == NULL ){
perror("Erreur allocation de sauvergarde\n");
exit( EXIT_FAILURE );
}
#if __STDC_VERSION__ >= 199901L
if( ! snprintf( ptr, sizeof(ptr), "%s%s%s", p_dst,"/", p_src ) ){
free( ptr );
ptr = NULL;
perror("Echec de la concaténation\n");
exit( EXIT_FAILURE );
}
#else
if( strcat( ptr, p_dst ) != NULL ){
if( strcat( ptr, "/" ) != NULL ){
if( NULL == strcat( ptr, p_src ) ){
free( ptr );
ptr = NULL;
perror("Impossible de faire une concaténation\n");
exit( EXIT_FAILURE );
}
}else{
free( ptr );
ptr = NULL;
perror("Impossible de faire une concaténation\n");
exit( EXIT_FAILURE );
}
}else{
free( ptr );
ptr = NULL;
perror("Echec de la concaténation\n");
exit( EXIT_FAILURE );
}
#endif
pFile = fopen( ptr, "a+" );
if( pFile == NULL ){
free( ptr );
ptr = NULL;
perror("Erreur ouverture du fichier\n");
exit( EXIT_FAILURE );
}
}
/* Ecriture des des données */
if( fputs( p_data, pFile) == EOF ){
free( ptr );
perror("Erreure écriture des données\n");
ptr = NULL;
}
fclose( pFile );
free( ptr );
ptr = NULL;
}
int main( void ){
f_WriteData("Coucou.txt", "Teste","Bonjours\n" );
return( EXIT_SUCCESS );
} |
Partager