Ripetizione ultimo carattere

di smalldragon il
3 risposte
Salve a tutti
ho il seguente codice

t=0;c=0;
while (!winput.eof())
	{
		winput.get(carattere);
		if (t == 1)
		{
			switch (carattere)
			// vari case che, giustamente, trattano diversi caratteri
			// qui funziona anche il default
			}
	if (c == 0)
		{
			switch (carattere)
	// vari case che, giustamente, trattano diversi caratteri
	default:
			{
				output << carattere;
				if (output.bad())
					{
						winput.close();  output.close();  input.close();
						std::cout << "\nErrore in fase di Scrittura\n";
						return 1;
					}
				break;
			}
              }
	}
	
il problema consiste nel fatto che quando legge il carattere prima dell'EOF me lo salva 2 volte nel file prima di uscire dalla WHILE
come posso risolvere il problema?
grazie a tutti

3 Risposte

  • Prova a

    - togliere la riga winput.get(carattere); da dove sta

    - spostare quella riga prima del while

    - copiare la stessa riga prima della parentesi finale del while
  • Grazie funziona
  • Ricorda che l'odore va testato sempre subito dopo la lettura da file
Devi accedere o registrarti per scrivere nel forum
3 risposte