Ce face puts și putchar
puts(s) scrie șirul s pe stdout și adaugă automat '\n'. Nu interpretează %, deci este sigur pentru orice text. fputs(s, stream) face același lucru într-un fișier oarecare, dar nu adaugă rând nou.
putchar(c) scrie un singur caracter. Primește un int (valoarea caracterului), așa că poți scrie putchar('A') sau putchar(65). Este echivalent cu putc(c, stdout).
Parametri
| Parametru | Descriere |
|---|---|
s |
Șirul de afișat, terminat cu '\0'. |
c |
Caracterul de afișat (convertit la unsigned char). |
stream |
La fputs: fișierul în care se scrie (stdout, stderr sau un fișier deschis). |
Ce returnează
puts și fputs: o valoare nenegativă la succes, EOF la eroare. putchar: caracterul scris sau EOF.
Exemple
Exemplul 1: puts adaugă rând nou, fputs nu
Cele două apeluri fputs ajung pe același rând; puts trece singur la rândul următor. Semnul % este afișat ca atare.
#include <stdio.h>
int main(void) {
puts("Meniul zilei");
puts("Reducere 20% la ciorbă");
fputs("Total: ", stdout);
fputs("45 lei\n", stdout);
return 0;
}
Rezultat
Meniul zilei
Reducere 20% la ciorbă
Total: 45 lei
Exemplul 2: Desen din caractere cu putchar
Două bucle și putchar desenează o scară de stele. Fiecare rând se termină cu putchar('\n').
#include <stdio.h>
int main(void) {
for (int rand = 1; rand <= 4; rand++) {
for (int i = 0; i < rand; i++) {
putchar('*');
}
putchar('\n');
}
return 0;
}
Rezultat
*
**
***
****
Exemplul 3: Un șir afișat literă cu literă, cu majuscule
toupper din <ctype.h> transformă fiecare literă, iar putchar o afișează. Merge pentru litere fără diacritice: o literă ca „ș” are doi octeți în UTF-8.
#include <ctype.h>
#include <stdio.h>
int main(void) {
const char *oras = "Cluj-Napoca";
for (int i = 0; oras[i] != '\0'; i++) {
putchar(toupper((unsigned char)oras[i]));
}
putchar('\n');
return 0;
}
Rezultat
CLUJ-NAPOCA
Greșeli frecvente
- Scrii
puts("Gata\n")și obții un rând gol în plus:putsadaugă deja'\n'. - Folosești
fputsîn loc deputsși te miri că textele se lipesc.fputsnu adaugă rând nou. - Treci la
putcharun șir (putchar("A")) în loc de un caracter (putchar('A')). Ghilimelele duble fac un șir, apostroafele fac un caracter.
Comenzi înrudite
printf: Afișează text formatat pe ecran: un șablon cu specificatori (%d, %s, %.2f) completați cu valorile primite după el.getchar: Citește un singur caracter de la intrarea standard; returnează EOF când intrarea s-a terminat.fprintf: Scrie text formatat într-un fișier sau în stderr, cu același șablon ca printf.Șiruri de caractere (char[]): În C, un șir de caractere este un tablou de char terminat cu caracterul nul ‘\0’, care marchează sfârșitul textului.ctype.h (isdigit, isalpha, toupper...): Funcții care verifică ce fel de caracter ai (cifră, literă, spațiu) și care schimbă literele mari în mici și invers.