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

    [c] funzione che crea il nome di un file

    Salve!
    ho creato una funzione che crea in nome
    di un file in base al nome ricevuto in input.
    se inserisco nomi tipo hello.txt mi dà l'output giusto,
    ma se inserisco nomi del tipo C:\Documents and Settings\Blondi\Desktop\prove
    mi sbaglia il nome ed esce qualcosa tipo C:\Docum_tokenlist.txt

    Grazie!
    codice:
    /* ----------------- commento alla funzione Filenamer ----------------------- */
     /* 
    * INPUT: 
    * - const String FileInput: il nome del file da scansionare, dal quale si 
    * deriverà il nome del file in cui verranno stampati i token; 
    * OUTPUT 
    * - valore stringa: il nome del file sul quale salvare i token; 
    *  VARIABILI: 
    * - String FileOutput: variabile contenente l'output; 
    * - String FileSuffix: variabile contenente il suffisso del nome e la sua estenzione (.txt) 
    * - int len: variabile contenete la lunghezza che FileOutput deve avere per riuscire a contenere 
    * tutto il nome 
    * - int lun: variabile contenente la lunghezza della variabile di input, escludendo 
    * gli ultimi caratteri .c 
    * controllo con un if che la variabile input non sia nulla. In caso positivo: 
    * - calcolo la lunghezza che deve avere la variabile in output 
    * - calcolo la lunghezza della variabile di input escludendo gli ultimi quattro caratteri 
    * - uso la calloc per allocare lo spazio di memoria della variabile FileOutput 
    * - copio nella variabile di output prima il nome del file di input e poi concateno FileSuffix 
    * contenente la parte finale del nome del file di output e la sua estensione */ 
    /* ----------------- fine commento ------------------------------------------ */ 
    String FileNamer(const String FileInput) { 
    String FileOutput;
     String FileSuffix = "_tokenlist.txt"; 
    int len = 0;
     int lun = 0; 
    if(FileInput!=NULL) { 
    len = (strlen(FileInput) + strlen(FileSuffix) - 3); 
    lun = strlen(FileInput) - 4; FileOutput = calloc(len, sizeof(char)); 
    strncpy(FileOutput, FileInput, lun); 
    strcat(FileOutput, FileSuffix); 
    printf("%s",FileOutput); 
    } return FileOutput; 
    }

  2. #2
    risolto! il problema stava negli spazi di \Dcoments and Settings\

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.