[C] Modifica testo da input in output

di Anonimizzato13739 il
4 risposte
Salve, qualcuno mi può aiutare a capire come posso eliminare il '-' dal file di input .vcf (che viene deciso dall'utente), al file di output??

File TESTO:
nel-mezzo-del-cammin-di-nostra-vita
codice:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <stdbool.h>

FILE *inptr,*outptr;
char buff[10000],nfile[100+5],n2file[100+6];
int i;

int main()
{
printf("\nInserisci il nome del file .vcf> ");
scanf("%s",nfile);
strcpy(n2file,nfile);
strcat(n2file,"_nuovo.txt");
strcat(nfile,".vcf");

inptr=fopen(nfile,"r+");
outptr=fopen(n2file,"w+");

while(fscanf(inptr,"%s",buff)!=EOF)
{
 for(i=0;i<1000;i++)
 {
  if(buff[i]=='-')
    fprintf(outptr,"%s",buff);
 }
}
fclose(inptr);
fclose(outptr);
}

4 Risposte

  • Richiama questa funzione:
    void SistemaStringa(char *str)
    {
       while( *str )
       {
          if( *str == '-' )
             *str = ' '; 
          str ++;
       }
    }
  • Grazie per la risposta!
    la funzione funziona se voglio sostituire un carattere con un altro, ma se voglio eliminare quel carattere?

    ESEMPIO
    file di input
    333-11-22-333

    file di output
    3331122333
  • strcpy( str, str+1 );
  • Oppure puoi copiare ogni carattere in un nuovo buffer saltando gli '-'
Devi accedere o registrarti per scrivere nel forum
4 risposte