51 fgets (trash , 10 , stdin);
52 nbread = strlen(trash);
53 }
while(trash[nbread-1]!=
'\n');
80void lireCharArray(
char s[],
int size);
88void lireCharArray(
char s[],
int size){
90 fgets (s , size+1 , stdin);
91 int nbread = strlen(s);
94 if (nbread < size || (nbread == size && s[nbread-1]==
'\n')) {
106 case '\n': printf(
"\\n");
break;
107 case '\r': printf(
"\\r");
break;
108 case '\0': printf(
"\\0");
break;
109 default: printf(
"%c",c);
116 for(i = 0; i <= max; i = i +1){
128 char * res = malloc (
sizeof(
char)*size);
130 int eofbeforeanything =
TRUE;
131 while((c=fgetc(input))!=EOF) {
132 eofbeforeanything =
FALSE;
135 void * res_realloc = realloc(res,(
sizeof(
char)*size));
136 if(res_realloc == NULL){
137 printf(
"Memory allocation failed!\n");
165 if (eofbeforeanything) {
182int ajouteMots(
char * lignecourante,
char *t[],
int aPartirDe){
184 char * motsuivant=strtok(lignecourante,
" ");
186 if (motsuivant!=NULL) {
189 motsuivant = strtok(NULL,
" ");
191 }
while (motsuivant!=NULL);
196int max (
int i,
int j) {
212 char ** t = (
char**)malloc(
sizeof(
char *)*size);
214 FILE *FICHIER1 =fopen(nomFicher,
"r");
215 char * lignecourante;
219 if (lignecourante == NULL) {
222 int nb_spaces = strlen (lignecourante);
223 if (i>=size - nb_spaces) {
224 void * t_realloc = realloc(t,max(
sizeof(
char *)*size*2,size+nb_spaces));
225 if(t_realloc == NULL){
226 printf(
"Memory allocation failed!\n");
233 if (i>size - nb_spaces) {
234 void * t_realloc = realloc(t,
sizeof(
char *)*size+2*nb_spaces*
sizeof(
char *));
235 if(t_realloc == NULL){
236 printf(
"Memory allocation failed!\n");
239 size = size+2*nb_spaces;
241 i = ajouteMots(lignecourante,t,i);
250void dispatchError(
int nbmatch,
char * msg) {
251 if (nbmatch == EOF) {
252 printf(
"Erreur de lecture\n");
255 else if (nbmatch == 0) {
256 printf(
"Erreur, ceci n'est pas un(e) %s\n",msg);
265 int nbmatch = sscanf(s,
"%d",&res);
271 dispatchError(nbmatch,
"entier");
283 if (s==NULL) { printf(
"\nPlus d'entrée, fin du programme.\n"); exit (1); }
285 int nbmatch = sscanf(s,
"%d",&res);
299 int nbmatch = sscanf(s,
"%c",&res);
305 dispatchError(nbmatch,
"caractère");
313 if (s==NULL) { printf(
"\nPlus d'entrée, fin du programme.\n"); exit (1); }
315 int nbmatch = sscanf(s,
"%c",&res);
329 int nbmatch = sscanf(s,
"%lf",&res);
335 dispatchError(nbmatch,
"double");
346 timestamp = time(NULL);
347 t = localtime(×tamp);
349 printf(
"%d/%d/%d %d:%d:%d",t->tm_mday,t->tm_mon+1,t->tm_year+1900,
350 t->tm_hour,t->tm_min,t->tm_sec);
357 timestamp = time(NULL);
358 t = localtime(×tamp);
366 timestamp = time(NULL);
367 t = localtime(×tamp);
375 timestamp = time(NULL);
376 t = localtime(×tamp);
384 timestamp = time(NULL);
385 t = localtime(×tamp);
393 timestamp = time(NULL);
394 t = localtime(×tamp);
395 return t -> tm_mon + 1;
402 timestamp = time(NULL);
403 t = localtime(×tamp);
404 return 1900 + t -> tm_year;
void ecrireLong(long n)
Écrit dans le terminal le long n.
int lireInt()
Lecture d'un entier suivi d'un saut de ligne.
void ecrireDate()
Écrit dans le terminal la date actuelle.
void ecrireString(char s[])
Écrit dans le terminal la chaîne de caractères s.
void ecrireInt(int n)
Écrit dans le terminal l'entier n.
char * lireString()
Lecture d'une chaîne au clavier avec allocation.
double lireDouble()
Lecture d'un double suivi d'un saut de ligne.
int heureActuelle()
Retourne le numéro de l'heure actuelle (entre 0 et 23).
void debugChar(char c)
Fonction de debugage: affiche un caractère. Les caractères \n \r et \0 sont affichés tel quels.
int lireIntDefaut(int defaut)
comme liseInt() mais avec une valeur à retourner en cas d'échec de lecture.
void ecrireDouble(double n)
Écrit dans le terminal le double n.
char lireCharDefaut(char defaut)
comme lireChar() mais avec une valeur à retourner en cas d'échec de lecture.
void pause()
Pause jusqu'à ce que l'utilisateur appuie sur entrée.
char * lireStringFile(FILE *input)
Lecture d'une chaîne dans un fichier avec allocation.
int minuteActuelle()
Retourne le numéro de la minute actuelle (entre 0 et 59).
char lireChar()
Lecture d'un caractère suivi d'un saut de ligne.
int secondeActuelle()
Retourne le numéro de la seconde actuelle (entre 0 et 59).
int moisActuel()
Retourne le numéro du mois actuel (entre 1 et 12).
int anneeActuelle()
Retourne le numéro de l'année actuelle (entre 0 et 23).
void ecrireSautDeLigne()
Écrit un saut deligne dans le terminal.
void ecrireChar(char c)
Écrit dans le terminal le caractère `c.
int jourActuel()
Retourne le numéro du jour actuel (entre 1 et 31).
void debugString(char *s)
Fonction de debugage: affiche une chaine de cractère en montrant les \n \r et \0.
char ** lireFichierParMots(char *nomFicher, int *nombreMots)
Lecture des mots d'un fichiers + modifie le deuxième arguments (nb de mots lus).