printf — Sortie formatée à la façon printf.
printf et printf_i écrivent une sortie formatée à la manière de la fonction C printf(). printf_i ne s'exécute qu'au taux-i, tandis que printf s'exécute à la fois à l'initialisation et pendant l'exécution de la note.
Sfmt -- chaîne de formatage ayant la même structure que dans printf et dans d'autres fonctions C similaires, sauf que les modificateurs de longueur (l, ll, h, etc.) ne sont pas supportés. Les indicateurs de conversion suivants sont permis :
d, i, o, u, x, X, e, E, f, F, g, G, c, s
iarg1, iarg2, ... -- arguments d'entrée à formater (30 au maximum). Les formats entiers tels que %d arrondissent les valeurs d'entrée à l'entier le plus proche.
itrig -- s'il est supérieur à zéro, l'opcode effectue l'affichage ; sinon c'est une opération nulle.
ktrig -- s'il est supérieur à zéro et différent de sa valeur lors du cycle de contrôle précédent, l'opcode effectue l'affichage demandé. La valeur précédente initiale est fixée à zéro.
xarg1, xarg2, ... -- arguments d'entrée à formater (30 au maximum). Les formats entiers tels que %d arrondissent les valeurs d'entrée à l'entier le plus proche. Noter que seuls les arguments de taux-k et de taux-i sont valides (pas d'affichage au taux-a)
Voici un exemple de l'opcode printf. Il utilise le fichier printf.csd.
Exemple 783. Exemple de l'opcode printf.
Voir les sections Audio en Temps Réel et Options de la Ligne de Commande pour plus d'information sur l'utilisation des options de la ligne de commande.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ;-o printf.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 Sfile strget p4 ivld filevalid Sfile if ivld=0 then printf_i "Audiofile '%s' does not exist!\n", 1, Sfile else asig diskin2 Sfile, 1 outs asig, asig endif endin </CsInstruments> <CsScore> i 1 0 3 "frox.wav";file does not exist!!! i 1 + 3 "fox.wav";but this one certainly does... e </CsScore> </CsoundSynthesizer>
L'exemple produit la sortie suivante :
Audiofile 'frox.wav' does not exist!
Plus d'information sur printf : http://www.cplusplus.com/reference/clibrary/cstdio/printf/