Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Problema lettura bit in più [c++]

    codice:
    #include<iostream>
    #include<fstream>
    using namespace std;
    int main(){
        unsigned char f;
        ifstream file("p.txt");
        ofstream file2("p2.txt");
        while(!file.eof()){
        file>>f;
        file2<<f;}
    ho creato due file uno chiamato p dove ho una stringa di caratteri con questo semplice passaggio da file a char e di nuovo da char a file mi compare l' ultimo carattere mi compare due volte, ad esempio se in p.txt ci metto 'casa' in p2.txt mi esce 'casaa' qualcuno sa perchè?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Riscrivi il ciclo così

    codice:
    file>>f;
    while(!file.eof())
    {
       file2<<f;
       file>>f;
    }
    P.S. Comunque non si tratta di bit ma di char (al limite un byte)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Meglio:
    codice:
    while(file>>f)
        file2<<f;
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Sì, era per rimanere sul codice proposto e far comprendere l'errore ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.