Memento C/ANSI
Ce document décrit sommairement quelques fonctions C/ANSI qui seront utiles lors des TPs.
Plus d'informations sont disponibles avec l'aide de la commande UNIX man.
- malloc, calloc
- Allocation de mémoire.
- free
- Libération de mémoire.
- fopen
- Ouverture d'un fichier.
- fclose
- Fermeture d'un fichier.
- fscanf
- Lecture d'une chaîne de caractères formatée dans fichier.
- fread
- Lecture d'un bloc d'octets dans un fichier binaire.
- fwrite
- Ecriture d'un bloc d'octets dans un fichier binaire.
- printf, fprintf
- Ecriture d'une chaîne de caractères formatée sur la console ou dans un fichier.
- sqrt, log
- Calcul d'une racine carrée, d'un logarithme néperien.
Fonctions utiles en traitement du signal
- Allocation d'un tableau de double
-
Alloue un tableau de n nombre flottants en double précision :
double* x=(double *)calloc(n,sizeof(double));
- Lecture d'un signal provenant d'un fichier ASCII
-
Lit le signal x de longueur n , dont les valeurs flottantes
sont stockées sous forme ASCII dans le fichier de nom filename :
void read_signal(double* x,int n,char* filename) {
int i;
FILE *fp=fopen(filename,"rt");
for (i=0;i<n;i++) {
float t;
fscanf(fp,"%f\n",&t);
x[i]=(double)t;
}
fclose(fp);
}
- Affichage d'un signal sur la console
-
Affiche le signal x de longueur n sur la console :
void print_signal(double* x,int n) {
int i;
for (i=0;i<n;i++) {
printf("x[%d]=%f\n",i,x[i]);
}
printf("\n");
}
- Ecriture d'un signal provenant d'un fichier ASCII
-
Ecrit le signal x de longueur n , sous forme de valeurs
flottantes double précision ASCII dans le fichier de nom filename :
void save_signal(double* x,int n,char* filename) {
int i;
FILE *fp=fopen(filename,"wt");
for (i=0;i<n;i++) {
fprintf(fp,"%f\n",x[i]);
}
fclose(fp);
}
-- Grégoire Pau - 22 Fev 2003
Retour à la page précédente