Scrieți o aplicație C care citeşte caracter cu caracter un fişier text şi converteşte primul caracter al fiecărui cuvânt în majusculă.
Răspunsuri la întrebare
Răspuns:
#include <stdio.h>
#include <ctype.h>
int main(int argc, char *argv[])
{
FILE *file;
int c, prev = ' ';
if (argc != 2) {
printf("Utilizare: %s <nume_fisier>\n", argv[0]);
return 1;
}
file = fopen(argv[1], "r");
if (file == NULL) {
printf("Nu se poate deschide fisierul %s\n", argv[1]);
return 1;
}
while ((c = fgetc(file)) != EOF) {
if (prev == ' ' || prev == '\t' || prev == '\n')
putchar(toupper(c));
else
putchar(c);
prev = c;
}
fclose(file);
return 0;
}
Explicație:
Aceasta aplicatie este in limbajul C si primeste ca argument numele fisierului si il deschide in modul "r" pentru citire. In interiorul buclei while, se verifica daca caracterul anterior este un spatiu, tab sau linie noua, in caz afirmativ, caracterul actual este convertit in majuscula folosind functia toupper din biblioteca ctype. Apoi se afiseaza caracterul.