3 domande sul c++

di il
2 risposte

3 domande sul c++

Volevo sinceramente ringraziare l'utente shodan per la pazienza e le molteplici conoscenze che mi ha gentilmente regalato nell' ultima domanda "ancora problemi con file".
dopo i sentiti e doverosi ringraziamente veniamo alle 3-4 domande.
1) come si fà a leggere in input una stringa wstring?
dovrei ottenere in uscita L+stringa digitata.
ho gia provato questo:
wstring mystringa;
cin >> mystringa; ma il compilatore mi ha dato errore.
poi ho provato quest'altra cosa:
string stringa1;
wstring stringa 2;
cin >> stringa1;
stringa2="L"+stringa1;ma il compilatore mi ha dato questo errore : errore generato dal compilatore = error C2679: '='
2) c'è un sistema per convertire una variabile LARGE_INTEGER in una normalissima int?
3) come si fa ad intercettare quando in una unità floppy disk non c'è il floppy ?
ringrazio anticipatamente tutti coloro che sapranno rispondere.
e per tutti coloro che vedranno ma non sapranno rispondere la curiosità e l'anima della conoscenza!

2 Risposte

  • Re: 3 domande sul c++

    1) se esiste wstring non credi che esisterà anche wcin?
    2) LARGE_INTEGER non è nient'altro che una union

    Scegli tu quale parte ti serve
    3) Usa CreateFile su \\.\A: se il floppy sta su A: e leggi il valore di GetLastError, ma prima imposta l'error mode su SEM_FAILCRITICALERRORS se no Windows rrompe le scattole sul fatto che non c'è niente su A:
  • Re: 3 domande sul c++

    Ciao grazie per la risposta
    ma non ho capito 2 cose
    1)come faccio a capire quale parte mi serve da convertire in una int normale che se ben ricordo e a 16 bit?
    il numero da convertire deriva dalle seguenti righe
    LARGE_INTEGER totbyte,resto,comodo;
    int i,nrec;
    i=0;nrec=0;
    totbyte=GetFileSizeEx(hest); //hest è l HANDLE del file aperto;
    if (totbyte==0) { return 0;} ; // o si è verificato un errore o il file è vuoto
    comodo = totbyte / lrecord; // lrecord rappresenta la dimensione del record e viene passata alla funzione
    resto = totbyte - (comodo * lrecord);
    if (resto > 0) { comodo++; i = parte intera <int normale>16 bit di resto; // ma non so come fare }
    nrec = parte intera  <int normale> // ma non so come fare
    dimultrec=i; // dimensione del l'ultimo record nel caso in cui il file non fosse ben formattato
    return nrec;
    2) l'istruzione
    SetErrorMode(1);
    la posso mettere una sola volta all'inizio del programma cosi come faccio con l'istruzione
    SetLastError(0);
    oppure la devo mettere in ogni funzione prima dell' istruzione
    GetLastError()
Devi accedere o registrarti per scrivere nel forum
2 risposte