Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    3

    getchar()? scanf()? che si usa?? aiutatemi!

    Buona domenica a tutti, ho sempre giovato dei consigli di questi forum, spero possiate aiutarmi. Sono alle prese con la traccia dell'ultimo esame di LSO, mi sono persa su una vera e propria cazzata, ma da brava fuori corso non ho seguito le lezioni quindi sono bloccata, la traccia è così:

    Scrivere utilizzando esclusivamente system call un programma C che esegua i seguenti passi:
    - crei un file ... bla bla bla FATTO
    - crei un hard link che...bla bla bla FATTO
    - crei un simbolic link che...bla bla bla FATTO
    - legga da standard input 10 lettere ----------------> read(STDIN_FILENO, buf,10) ho provato... è ok
    - scriva tali lettere nell'hard link l'una accanto all'altra separate da spazi;
    - scriva tali lettere nel link simbolico l'una sotto l'altra.

    ora... siccome è un esercizio di tipo "propedeudico", ovvero se nn svolgo questi due ultimi punti non posso fare gli altri esercizi, avrei bisogno che mi aiutaste...
    vi ringrazio tantissimo, sono convinta che è una scemenza, sono io che sono "impallata".

  2. #2
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803
    ma getchar() o scanf() tu le reputi system call? (fai una ricerca approfondita non fermarti a wikipedia)

    ovviamente devi usare solo read() e write()

    - fai una open sull'hard link
    int i;
    for(i=0;i<10;i++){
    write(FD_Hlink, buf+i, 1);
    write(FD_Hlink, " ", 1);
    }

    - open sul symlink
    for(i=0;i<10;i++){
    write(FD_Symlink, buf+i, 1);
    write(FD_Symlink, "\n", 1);
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    3
    ovviamente non sono system call ma nella mia palla avrei usato di tutto... grazie comunque, sei stato gentilissimo!

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    3
    L'output è strano... ho inserito le lettere "asdfghjklo" e l'output nei due file è stato a
    g
    l
    N
    Ù
    ô
    

    ô
    ô

    anche dovre avrebbero dovute essere l'una accanto all'altra separate da spazio...

    credo sia legato alla sintassi all'interno del write(fdh, buf+i, 1); buf+i
    ho provato anche con buf[i] ma è ancora peggio...

  5. #5
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803
    Originariamente inviato da Anaflo

    credo sia legato alla sintassi all'interno del write(fdh, buf+i, 1); buf+i
    ho provato anche con buf[i] ma è ancora peggio...
    scusa ma quando una cosa non funziona tu vai a tentativi? buf[i] è un char..come potrebbe mai essere corretto?
    posta tutto il codice

    ps: sei su win o linux?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.