Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [C] Estrarre parti di stringhe

    Domanda stupida:
    esiste un modo per estrarre da un percorso del tipo
    /cartella/cartella/nome.ext
    solo il nome del file con l'estensione ?
    considerando che /cartella/cartella può essere qualsiasi percorso.

    grazie in anticipo...




    Fillo

  2. #2
    Utente di HTML.it L'avatar di DydBoy
    Registrato dal
    Jul 2005
    Messaggi
    165
    codice:
    #include <string.h>
    #include <stdio.h>
    
    char *stringa = "/cartella/cartella/nome.ext";
    
    main() {
    
    	int i = 0;
    	char *result;
    
    	while (stringa[i] != '\0')
    	{
    		if (stringa[i] == '/') 
    			result = &stringa[i+1];
    	
    		i++;
    	}
    
    	printf("Il file : %s\n",result);
    
    
    return 0;
    
    }
    In pratica ti fai tutta la stringa e ti memorizzi l'ultimo slash con un puntatore a carattere.

    Ciau

  3. #3
    codice:
    void getfilename(const char *path){
    	int i = 0;
    	char *filename;
    
    	while (path[i] != '\0'){
    		if (path[i] == '/'){
    			filename = &path[i+1];
    		}
    		i++;
    	}
    	printf("stringa: %s\n",filename);
    	return; //filename;
    
    }
    E la chiamo così nel main

    codice:
    char * stringa="/vale";
    getfilename(stringa);
    Funziona ma in compilazione mi da questo warning:
    codice:
    warning: assignment discards qualifiers from pointer target type

  4. #4
    Utente di HTML.it L'avatar di DydBoy
    Registrato dal
    Jul 2005
    Messaggi
    165
    codice:
    const char* stringa = "/vale";

  5. #5
    Mi rimane lo stesso warning...

  6. #6
    Utente di HTML.it L'avatar di DydBoy
    Registrato dal
    Jul 2005
    Messaggi
    165
    Posta tutto il codice qui, vediamo di risolvere

  7. #7
    è quello che ho postato prima....vabbè con le solite storie del main, le include, ecc....




  8. #8
    Utente di HTML.it L'avatar di DydBoy
    Registrato dal
    Jul 2005
    Messaggi
    165
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    void getfilename(char *path){
    	int i = 0;
    	char *filename;
    
    	while (path[i] != '\0'){
    		if (path[i] == '/'){
    			filename = &path[i+1];
    		}
    		i++;
    	}
    	printf("stringa: %s\n",filename);
    	return; //filename;
    
    }
    
    main() {
    
    char * stringa="/vale";
    
    getfilename(stringa);
    system("PAUSE");
    return 0;
    
           }
    Con il Dev-C++ (compilatore Mingw) funziona e non mi da warning.
    Ho tolto il const dall'argomento della funzione.

  9. #9
    io uso gcc.....

  10. #10
    Utente di HTML.it L'avatar di DydBoy
    Registrato dal
    Jul 2005
    Messaggi
    165
    Mi gira senza warning anche sul Visual C++.

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.