System calls c lettura file
buonasera,
ho un problema con un programma, in pratica io ho n file di testo così chiamati: file1.txt,file2,txt....
io devo chiedere all'utente quanti processi simulare, ogni processo legge il proprio file(processo1->file1.txt, processo2->file2.txt...)
il problema è che non riesco a realizzare questa cosa,
avevo provato cosi
il problema è che mi prende la stringa file2.txt, non mi prende il contenuto del file, e non riempie l'array di char buf0 man mano, ma sovrascrive quello che trova prima.
come potrei fare? tenendo conto che devo usare solo system calls e solo la sprintf mi era concessa
ho un problema con un programma, in pratica io ho n file di testo così chiamati: file1.txt,file2,txt....
io devo chiedere all'utente quanti processi simulare, ogni processo legge il proprio file(processo1->file1.txt, processo2->file2.txt...)
il problema è che non riesco a realizzare questa cosa,
avevo provato cosi
for(i=1;i<=nodesNumber;i++){ sprintf(buf0,"file%i.txt",i); }
il problema è che mi prende la stringa file2.txt, non mi prende il contenuto del file, e non riempie l'array di char buf0 man mano, ma sovrascrive quello che trova prima.
come potrei fare? tenendo conto che devo usare solo system calls e solo la sprintf mi era concessa
Risposte
Quella chiamata serve per scrivere su buf0 la stringa corretta. A questo punto devi usare fopen http://en.cppreference.com/w/c/io/fopen mettendo buf0 dove va inserito il filename. E poi ovviamente tutto il resto del codice. Ricordati di chiudere il file. In ogni caso, stai tentando un esercizio senza guardarti prima la sintassi!? Secondo me dovresti prima guardarti la teoria e poi esercitarti su ciò che hai imparato. Procedere a caso ti fa perdere inutilmente tempo.