Introduction au C

Le logo du C
Sommairestdio : Les entrées et les sorties

Lire et écrire dans des chaînes

Il existe aussi des fonctions pour faire des printf et des scanf dans des chaînes de caractères quelconques. On leur rajoute juste le préfixe s pour string. Elle prennent un char * comme premier argument, c'est à dire un pointeur vers le premier caractère d'une chaîne, la chaîne dans laquelle lire ou écrire. Les arguments suivants sont les mêmes que pour des printf et scanf normaux. Cette fonction viens aussi de stdio.h qu'il faudra donc inclure.

Voici un exemple simple pour sprintf :

#include <stdio.h>

int main() {
    char recette[10] = "Couscous";
    char ingredient[10] = "chocolat";
    char fusion[25] = "";
    sprintf(fusion, "%s au %s", recette, ingredient);

    // fusion vaut maintenant "Coucous au chocolat"

    return 0;
}

Et pour sscanf :

#include <stdio.h>

int main() {
    int jour = 0;
    int mois = 0;
    char anniv[25] = "Anniversaire le 12/11";
    sscanf(anniv, "Anniversaire le %d/%d" &jour, &mois);

    // jour vaut 12 et mois vaut 11

    return 0;
}