Gestione di File in C

Поділитися
Вставка
  • Опубліковано 16 вер 2024

КОМЕНТАРІ • 33

  • @marco4074____e
    @marco4074____e Рік тому +3

    grazie a dio qualcuno che spiga in maniera intuitiva questi temi c'è ancora.

  • @VasaMusic438
    @VasaMusic438 2 роки тому +5

    Complimenti !! Molto interessante, sopratutto l'ultima parte sulle chiamate di sistema e la comparazione tra fread e read !!!

  • @skankhan8068
    @skankhan8068 3 роки тому +9

    il video è utilissimo e ben fatto, ma mi sento di consigliarvi di ingrandire leggermente il testo per facilitarne la lettura

  • @GiovanniManfredi_64
    @GiovanniManfredi_64 3 роки тому +3

    Siete grandi!

  • @lorenzorossi9718
    @lorenzorossi9718 2 роки тому +1

    BEL VIDEO! Ma che compilatore usi?

  • @francescopianese2113
    @francescopianese2113 2 роки тому +1

    Il video è molto utile, complimenti. Dato che non ho l'entensione per poter usare getline, c'è una soluzione o devo istallarla obbligatoriamente per scrivere un codice che fa una cosa simile?

    • @GetTheCookie
      @GetTheCookie  2 роки тому

      No puoi tranquillamente scriverne una tu che faccia una cosa simile (ce ne sono tante già scritte se cerchi).
      In generale con i file è comodo avere alcune funzioni ausiliarie che ti semplificano operazioni comuni come leggere linee, controllare errori e memorizzare il contenuto del file in strutture dati

  • @francescoliboriocacciato5227
    @francescoliboriocacciato5227 7 місяців тому

    Ciao sono Francesco. Vorrei un chiarimento: quali sono le differenze essenziali tra C e C++?
    Vorrei anche sapere se un programma scritto in C è eseguibile con il compilatore C++ e viceversa.
    È ancora: quale tra i due è più veloce nell esecuzione dei programmi?
    Grazie per la risposta che spero arrivi presto.

    • @tommyxeno
      @tommyxeno 2 місяці тому +1

      Ciao, rispondo io. C++ ha una sintassi più facile ed intuitiva di C, supporta la programmazione orientata agli oggetti mentre C no, introduce un sistema di gestione degli errori con try throw ecc molto più comoda di C, ha librerie standard che introducono list, vector, map ed in generale algoritmi più facili ed efficaci, ha una miglior gestione della memoria (dinamica ecc) di C, per ora non mi viene in mente altro.
      In linea di massima sì, puoi compilare C con C++ perché quest'ultimo è un upgrade di C e dunque comprende molte parti della sintassi, mentre non puoi compilare C++ con C.
      Nell'esecuzione non è facile dire chi dei due è più veloce. Tieni conto che più le cose si semplificano per l'umano, più si complicano per la macchina. Dunque, un linguaggio basso basso livello è sicuramente più veloce e meno pesante. Tuttavia, essendo un linguaggio più vecchio, ha funzioni e librerie che sono state rivisitate ed ottimizzate. Dunque, direi che sono in generali simili, perché poi dipende tutto dal codice che scrivi tu programmatore. Spero di esser stato d'aiuto.

  • @edigiolocci4236
    @edigiolocci4236 2 роки тому

    Ma perché il while(feof(file)) crea un botto di problemi?? C'è un alternativa valida?

  • @chouaybyahya9658
    @chouaybyahya9658 2 роки тому +1

    potresti gentilmente dirmi quale compilatore usavi in questo video?
    grazie.

  • @lorenzolaverde9442
    @lorenzolaverde9442 2 роки тому

    utilissimo

  • @ashvindersingh1045
    @ashvindersingh1045 2 роки тому

    Non mi va "getline" come posso fare, grazie.

  • @mvstergd8247
    @mvstergd8247 3 роки тому

    utile e ho capito molto di piu...ma io non riesco a crearmi proprio il file, forse perchè sono da windows e devo scrivere diversamente? mi dice tipo USA CRT_SECURE_NO_WARNINGS ma poi argomenti insfficienti per lo scanf_s ma dai

  • @user-mx3sy8mi5h
    @user-mx3sy8mi5h Рік тому

    se voglio sostituire una determinata parola all'interno del file come posso fare ? oppure come posso stampare solamente la parola ?

    • @GetTheCookie
      @GetTheCookie  Рік тому

      Per la prima richiesta la cosa più semplice che puoi fare è leggere il contenuto del file e salvartelo in una stringa. Fare sostituzione della parola che ti interessa nella stringa salvata e riscrivere totalmente il file incollandoci dentro la stringa modificata.
      Nel caso di file lunghi puoi fare queste operazioni salvando nella variabile un certo numero di righe (anziché tutto il file) e passare poi alle successive fino a fine file.
      Per la seconda richiesta anche qui: leggerei il file, salverei il contenuto in una variabile e lavorerei su essa.

    • @user-mx3sy8mi5h
      @user-mx3sy8mi5h Рік тому

      @@GetTheCookie Uso il ciclo che mi permette di leggere riga per riga e lo confronto con la parola da sostituire , in tal caso scrivo tutto in un altro file creato appositamente . Giusto? grazie mille

    • @GetTheCookie
      @GetTheCookie  Рік тому +2

      Come soluzione funzionante va bene come dici tu, anche se nulla ti vieta di riscrivere il tutto nello stesso file, senza crearne uno nuovo.
      Attenzione però in questo caso ai conflitti avendo lo stesso file aperto in lettura e in scrittura (dovresti prima leggere tutto e solo alla fine riscrivere tutto il contenuto).
      In alternativa, per usare meno memoria, puoi leggere il file riga per riga, memorizzando solo una riga alla volta (l'ultima letta), e controllare se quella riga contiene la tua parola. Se si, usando le funzioni di fseek, puoi spostarti e scrivere manualmente in una posizione specifica del file. Questo consuma solo una quantità di memoria costante (il buffer in cui metti le righe), e legge tutte le righe del file.

    • @user-mx3sy8mi5h
      @user-mx3sy8mi5h Рік тому

      @@GetTheCookie grazie mille...

  • @michela4415
    @michela4415 2 роки тому

    Tutto chiarissimo, ma non so perchè mi da "getline" come errore. Forse non è valido con C99 (?)🤷‍♀

    • @GetTheCookie
      @GetTheCookie  2 роки тому

      Si, getline è un estensione POSIX (del 2008).
      Ci sono modi per farla funzionare con compilatori più vecchi ma non ne vale la pena, dato che puoi emulare il suo comportamento usando metodi più semplici

    • @michela4415
      @michela4415 2 роки тому

      Grazie della risposta :)
      Proverò con una funzione

  • @matteomontanari2960
    @matteomontanari2960 2 роки тому +1

    Tipicamente se non chiudi il file e l'hai aperto in "w" o"a" non ti salva le modifiche che hai fatto. Comunque grandissimi

    • @GetTheCookie
      @GetTheCookie  2 роки тому +2

      Esatto, il comportamento per quando si chiude un file (in particolare, quando lo si ha modificato e si deve chiudere) non è definito, e quindi c'è sempre un livello di incertezza che si combatte adottando principi e standard come le regole di buona programmazione riguardo ai file

  • @ytdavide
    @ytdavide 3 місяці тому

    Le spiegazioni sono ottime ma i video su dispositivi mobili hanno il font troppo piccolo per persone anziane come me 😂😂😂

    • @GetTheCookie
      @GetTheCookie  3 місяці тому

      Grazie del suggerimento, effettivamente è una cosa che non avevamo valutato in questi primi video 😅