Newsgroup: it.comp.lang.c
Titolo: [ot/c++] spazi vuoti in seguito al apri file....(importante)

ciao,
ho un problema abbastanza importante, scusate se posto qui, ma nel ng di c++
nn mi risponde nessuno, ed è molto importante!!!!
...se qualcuno mi sa rispondere...
...prima di uscire dal mio programma, salvo tutto in un file ascii, salvo
ogni stringa usando il "setw" che gli dice quanto spazio adoperare nel file
per quel valore ///salva<<setw (60)<< passo->oggetto;///.
...quando rientro nel programma e apro il file che prima avevo salvato,  uso
il normalissimo get   ///apri.get (oggetto, 61);/// in questo modo, però, se
la stringa era "pagamento pippo", mi prende pagamento pippo, ma anche gli
spazi rimanenti fino ad arrivare a 61 totali; in questo modo, se,
nell'utilizzo del programma devo cercare "pagamento pippo" non me lo trova
più perchè in realtà la stringa è: "pagamento pippo____(e tutti gli
spazi)_____".
...come posso fare per dirgli che ad ogni stringa importata mi cancelli
tutti gli spazi?
...io avevo pensato ad un ciclo che partisse da in fonde e fino a che
trovava il valore asci dello spazio mi sostituisse ad esso il vlore "\n", ma
sinceramente nn saprei proprio come fare!
...vi prego aiutatemi! (:
(sotto vi ho messo il listato del salva e dell'apri!)
//salva file
void PROTOCOLLO::sfile()
{
 SCHEDA *passo = testa;
 fstream salva;
 salva.open("elisa.txt", ios::out);
 while (passo!=NULL)
 {
 salva<<setiosflags(ios::left);
 salva<<setw (5)<<passo->nprotocollo;
 salva<<setw (15)<< passo->ncommessa;
 salva<<setw (60)<< passo->mittente;
 salva<<setw (60)<< passo->destinatario;
 salva<<setw (60)<< passo->oggetto;
 salva<<setw (60)<< passo->documento;
 salva<<setw (1)<< passo->entraesce;
 salva<<setw (2)<< passo->giorno;
 salva<<setw (2)<< passo->mese;
 salva<<setw (4)<< passo->anno;
 salva<<setw (10)<< passo->data;
 salva<<"\n";
 salva<<resetiosflags(ios::showbase);
 passo = passo->prossimo;
}
 salva.close();
}
//**************************************************************************
******************
//apertura file
int PROTOCOLLO::afile()
{
 int ultimonprotocollo;
 char ch;
 char nprotocollo[6];
 char giorno[3];
 char mese[3];
 char anno[5];
 char data[11];
 char ncommessa[16];
 char mittente[61];
 char destinatario[61];
 char oggetto[61];
 char documento[61];
 char entraesce[2];
 fstream apri;
 apri.open("elisa.txt", ios::nocreate | ios::in);
 if (!apri)
 {
  printf ("\t    ..:: ARCHIVIO NON ESISTENTE ::..  \n\n");
 }
 else
 {
 apri.get (nprotocollo,6);
 while(!apri.eof())
 {
    apri.get (ncommessa, 16);
    apri.get (mittente, 61);
    apri.get (destinatario, 61);
    apri.get (oggetto, 61);
    apri.get (documento, 61);
    apri.get (entraesce, 2);
 apri.get (giorno, 3);
 apri.get (mese, 3);
 apri.get (anno, 5);
 apri.get (data, 11);
 apri.get(ch);
 while (ch != '\n') apri.get(ch);
    SCHEDA *temp=new SCHEDA;
    temp->nprotocollo=atoi(nprotocollo);
 strcpy(temp->ncommessa,ncommessa);
 strcpy(temp->mittente,mittente);
 strcpy(temp->destinatario,destinatario);
 strcpy(temp->oggetto,oggetto);
 strcpy(temp->documento,documento);
 strcpy(temp->entraesce,entraesce);
 temp->giorno=atoi(giorno);
 temp->mese=atoi(mese);
 temp->anno=atoi(anno);
 temp->data=atol(data);
 temp->prossimo=NULL;
 if (testa==NULL)
   {
    testa=temp;
   }
   if (coda!=NULL)
   {
    coda->prossimo=temp;
   }
   coda=temp;
    apri.get (nprotocollo,6);
 ultimonprotocollo=1+(temp->nprotocollo);
}}
 apri.close();
 return(ultimonprotocollo);
}

nn mi risponde nessuno, ed è molto importante!!!!
Non puoi pretendere di postae un messaggio di sabato (e buona parte
dei frequentatori nel week end non postano), qualcuno ti avrebbe
sicuramente riposto nel newsgroup giusto.
Comunque visto che usi il C++ perché non usi std::string?
-- 
Marco Barisione (ICQ 84277092)