ciao raga
allora ho un problema con un esercizio
ho un file di testo con su scritto la lunghezza di ogni parola e laparola stessa
esempio
4ciao
5forum
7servizi
devo visualizzare la lunghezza ed dei primi 3 caratteri di ogni stringa contenuta nel file
e devo calcolare la somma dlle lunghezze delle stringhe
qundi in output
riga=4
cia
riga=5
for
riga=7
ser
somma totale parole = 16
purtroppo mi legge troppe righe in più
devo usare io a basso livello (read e write)
mi date una mano?
codice:
#include<stdlib.h>
#include<stddef.h>
#include<stdio.h>
#include<string.h>
#include<unistd.h>
#include<fcntl.h>
#include<sys/types.h>
#include<sys/stat.h>
int fd,i,j,k,c;
int tot=0;
int riga=0;
char stringa[50];
char num[10];
int main(int argc ,char **argv)
{
fd =open(argv[1],O_RDONLY,0777);
{
while(read(fd,num,1)>0)
{
i=atoi(num);
printf("riga = %d\n",i);
read(fd,stringa,i-1);
write(1,stringa,3);
write(1,"\n",2);
tot=tot+i;
}
}
printf(" somma totale parole = %d\n",tot);
}