Creato programma che usando i file legge il file sample e lo ricopia in sample_copied contando righe,vocali,numeri e caratteri

This commit is contained in:
2014-03-23 14:29:01 +01:00
parent 9a4d3eb9db
commit d25cf1c199
6 changed files with 106 additions and 0 deletions

BIN
4.file_read_count/copycount Executable file

Binary file not shown.

View File

@@ -0,0 +1,87 @@
#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
int main (int index, char** in_data){
int fd,fd2,ridden,wrote, tot,vocali,cifre,righe;
tot = vocali = cifre = righe = 0;
char buf;
fd = open ("sample",O_RDONLY);
fd2 = open ("sample_copied", O_CREAT | O_WRONLY,00700);
if (fd < 0){
fprintf(stderr,"Error reading file %d\n",errno);
exit(-1);
}
if (fd2 < 0){
fprintf(stderr,"Error creating file %d\n",errno);
exit(-1);
}
for (ridden = read (fd,&buf,1) ; ridden == 1 ;ridden = read (fd,&buf,1)){
if (isdigit(buf) != 0){
cifre++; tot++;
wrote = write (fd2,&buf,1);
if (wrote != 1){
fprintf(stderr,"Error writing to file %d\n",errno);
exit(-1);
}
continue;
}
if (buf == 'a' || buf == 'e' || buf == 'i' || buf == 'o' || buf == 'u'){
vocali++;tot++;
wrote = write (fd2,&buf,1);
if (wrote != 1){
fprintf(stderr,"Error writing to file %d\n",errno);
exit(-1);
}
continue;
}
if (buf == '\n'){
righe++;tot++;
wrote = write (fd2,&buf,1);
if (wrote != 1){
fprintf(stderr,"Error writing to file %d\n",errno);
exit(-1);
}
continue;
}
tot++;
wrote = write (fd2,&buf,1);
if (wrote != 1){
fprintf(stderr,"Error writing to file %d\n",errno);
exit(-1);
}
}
if (ridden < 0){
fprintf(stderr,"Error reading file %d\n",errno);
exit(-1);
}
fprintf (stdout, "Numero vocali %d\n", vocali);
fprintf (stdout, "Numero righe %d\n", righe);
fprintf (stdout, "Numero cifre %d\n", cifre);
fprintf (stdout, "Numero caratteri %d\n", tot);
close(fd);close(fd2);
return 0;
}

View File

@@ -0,0 +1 @@
il programma legge il file sample e lo ricopia in sample_copied contango righe,vocali,numeri e caratteri

6
4.file_read_count/sample Normal file
View File

@@ -0,0 +1,6 @@
aafdsfdsfdfdfdfdf
4343
fdsd342
fdfdsfFJSNJNDJS
dfdsfa

View File

@@ -0,0 +1,6 @@
aafdsfdsfdfdfdfdf
4343
fdsd342
fdfdsfFJSNJNDJS
dfdsfa

View File

@@ -0,0 +1,6 @@
fdsfdsfdfdfdfdf
4343
fdsd342
fdfdsfFJSNJNDJS
dfdsf