Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "es4C.h"
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- int lista_parole(const char *input, const char *output){
- FILE *in, *out;
- char *line_buf_in = NULL;
- size_t line_buf_size_in;
- ssize_t line_size_in;
- int i;
- /*apre input.txt in lettura*/
- in = fopen(input, "r");
- /*apre output.txt in scrittura*/
- out = fopen(output, "w");
- /*controlla che si possano effettivamente aprire e non ci siano errori (es: files inesistenti)*/
- if (in && out){
- /*prende il contenuto della riga, mette i caratteri dentro line_buf_in che è praticamente un array di char*/
- line_size_in = getline(&line_buf_in, &line_buf_size_in, in);
- /*finchè ci sono linee*/
- while (line_size_in >= 0){
- /*finché non arrivo alla fine della linea*/
- for(i = 0; i < line_size_in; i++){
- /*se line_buf_in[i] è uno spazio vuol dire che la parola è finita quindi stampo il carattere di nuova riga*/
- if (line_buf_in[i] == ' '){
- fprintf(out, "\n");
- /*altrimenti stampo carattere per carattere la parola sul output.txt*/
- } else {
- fprintf(out, "%c", line_buf_in[i]);
- }
- }
- /*leggo una nuova linea, ritorna -1 se sono finite*/
- line_size_in = getline(&line_buf_in, &line_buf_size_in, in);
- }
- fclose(in);
- fclose(out);
- return 1;
- } else {
- return 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement