Programmazione C - Come si aprono le directory?

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
V
Linux 2.x
Linux 2.x
Messaggi: 313
Iscritto il: gio 23 mar 2006, 10:54

Programmazione C - Come si aprono le directory?

Messaggio da V »

Per passare il tempo vorrei scrivere del codice che mi gestisca delle directory SENZA usare glib o librerie varie...
Per esempio: come faccio a sapere il contenuto di una directory?
Qualcuno di voi sa come si fa?

Grazie in anticipo!

Avatar utente
lamarozzo
Linux 3.x
Linux 3.x
Messaggi: 732
Iscritto il: gio 14 lug 2005, 0:00
Desktop: xfce
Distribuzione: archlinux
Località: Roma

Messaggio da lamarozzo »

senza librerie con il C non vai molto lontano. Per quello che vuoi fare devi usare proprio le glibc (ad esempio la funzione readdir) ... http://www.gnu.org/software/libc/manual ... ory-Lister

comunque per una gestione efficace di file e directory il consiglio e' ovviamente di usare un linguaggio di scriping tipo bash, o sempre meglio, perl o python.

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Messaggio da targzeta »

ops
Ultima modifica di targzeta il mar 5 giu 2007, 18:54, modificato 1 volta in totale.

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Messaggio da targzeta »

Chiamata di sistema ti va bene?
man 2 getdents
Ma io comunque consiglio di usare la libreria standard del C e usare la funzione
man 3 readdir
o la più interessante
man 3 scandir
Spina

@edit: preceduto ancora, è la seconda volta oggi :)
Ultima modifica di targzeta il mar 5 giu 2007, 19:34, modificato 1 volta in totale.

Avatar utente
V
Linux 2.x
Linux 2.x
Messaggi: 313
Iscritto il: gio 23 mar 2006, 10:54

Messaggio da V »

Si si, intendo senza librerie "esterne"...
Quello che mi hai indicato potrebbe fare al caso mio, GRAZIE!!!!!

PS: comunque è per "cultura personale"... :D


:mille:

Avatar utente
ky
Linux 0.x
Linux 0.x
Messaggi: 39
Iscritto il: gio 22 dic 2005, 9:21
Località: la spezia

Messaggio da ky »

Per passare il tempo vorrei scrivere del codice che mi gestisca delle directory
A mio parere ci sono modi migliori per passare il tempo :evil4:
Comunque, perchè scomodare il C, c'è il bash!!
Ciao!
Ky

Avatar utente
lamarozzo
Linux 3.x
Linux 3.x
Messaggi: 732
Iscritto il: gio 14 lug 2005, 0:00
Desktop: xfce
Distribuzione: archlinux
Località: Roma

Messaggio da lamarozzo »

spina ha scritto:
spina ha scritto:Chiamata di sistema ti va bene?
man 2 getdents
Ma io comunque consiglio di usare la libreria standard del C e usare la funzione
man 3 readdir
o la più interessante
man 3 scandir
Spina
@edit: preceduto ancora, è la seconda volta oggi :)
Mi sa che ho aperto il sito di slacky proprio mentre appariva il post :D
La tua risposta pero' e' molto piu' completa, io piu' che altro pratico il K&R C ;)

Avatar utente
ky
Linux 0.x
Linux 0.x
Messaggi: 39
Iscritto il: gio 22 dic 2005, 9:21
Località: la spezia

Messaggio da ky »

Per Spina: oltre che rispondere agli stessi topic ci precedono pure, siamo lenti!

Avatar utente
V
Linux 2.x
Linux 2.x
Messaggi: 313
Iscritto il: gio 23 mar 2006, 10:54

Messaggio da V »

ky ha scritto:A mio parere ci sono modi migliori per passare il tempo :evil4:
Si si li conosco anche io ;)

Ah, ma forse ti riferisci ai metodi MANUALI! :badgrin:

Sto scherzando ovviamente! ;)

Avatar utente
ky
Linux 0.x
Linux 0.x
Messaggi: 39
Iscritto il: gio 22 dic 2005, 9:21
Località: la spezia

Messaggio da ky »

Ah, ma forse ti riferisci ai metodi MANUALI!
codeste allusioni non mi tangono!
intendevo che esistono tanti altri modi per farsi del male e, ovviamente, scherzavo anch'io, sempre permalosi i maschi :sad5: !!
baci,
Ky. :angel4:

Avatar utente
V
Linux 2.x
Linux 2.x
Messaggi: 313
Iscritto il: gio 23 mar 2006, 10:54

Messaggio da V »

Beninteso:
NON VOLEVO OFFENDERE NESSUNO E NON MI SONO OFFESO!

;)

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Messaggio da targzeta »

ky ha scritto:...codeste allusioni non mi tangono!... sempre permalosi i maschi :sad5: !!
Quali allusioni? allusioni a cosa? ah, sempre maliziose le femmine.

Spina

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio da albatros »

Comunque, perchè scomodare il C, c'è il bash!!
1) Perché è più veloce
2) Perché potresti portare il programma dove non hai bash
3) Perché è inelegante in un programma C più grande chiamare bash per fare delle operazioni
4) Perché è più divertente (se ti piace programmare): linux stesso è nato "just for fun"

Se ti vuoi proprio buttare via dallo spasso ti potresti leggere i sorgenti della parte interessata di bash o delle glibc (è un piacere per palati fini, io sarei troppo grezzo e ignobile per apprezzarlo).

Avatar utente
ky
Linux 0.x
Linux 0.x
Messaggi: 39
Iscritto il: gio 22 dic 2005, 9:21
Località: la spezia

Messaggio da ky »

Comunque, perchè scomodare il C, c'è il bash!!
Perchè sparare alle mosche col bazooka?
1)È più veloce
2)È più divertente....

A parte gli scherzi, hai ragione, 5 minuti di vergogna per me e passerò a windows quanto prima! ;)

Per V: Beh, su questo non c'erano dubbi !!!

ciao belli!
Ky.

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio da albatros »

A parte gli scherzi, hai ragione, 5 minuti di vergogna per me e passerò a windows quanto prima! Wink
Nooooooo, non lo fare, ormai sei abituata bene, è come costringere un indiano in una riserva, come slogare una caviglia ad una ballerina, come farsi fare la barba a rasoio da un malato di parkinson, come dissetarsi con l'acqua del mar Morto, come entrare in un'automobile lasciata al sole d'agosto, come naufragare in mezzo agli squali, come ripararsi sotto l'albero più alto durante un temporale, come inghiottire un pezzo di vetro, come schizzarsi un occhio con l'olio bollente, come dover viaggiare in treno o in aereo durante uno sciopero, come imbrattare la Cappella Sistina con una vernice spray, come prendere un calcio in faccia da un mulo, come.... mamma, non ce la faccio...
error... exit 1

P.S.
Anch'io di solito preferisco di gran lunga la shell...
;)

Rispondi