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

    Ricercare carattere in una stringa

    ho un path e devo estrarre il nome del file.

    esempio:
    /home/bonxo/ciao.txt

    Qualcuso sa dirmi come fare?

    se riesco a sapere quanti caratteri "/" ci sono posso poi fare un ciclo che spezzandomi il percorso con strtok mi restituisce il nome, però non so che funzione mi dice quante volte un carattere è presente in una stringa.

  2. #2
    Qualcuso sa dirmi come fare?
    In C? In C++? In russo? In turkmeno arcaico?

    Hai dimenticato di specificare il linguaggio nel titolo...
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  3. #3

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Dalla fine della stringa cerca il primo carattere \

  5. #5
    Ok, ma come faccio?

    con strtok parto dall'inizio.

  6. #6
    Usa la strrchr.
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Devi per forza usare una funzione fatta?

    Utilizza un ciclo for ...

  8. #8
    codice:
    	lunghezza = strlen(temp);	
    	printf("lunghezza :%i\n", lunghezza);
    	k = lunghezza;	
    	for (i=0; i < lunghezza; i++)
    	{
    		carattere = temp[i];
    		printf("carattere: %c\n", carattere); 	
    
    		/*if (carattere == "/")
    		{	
    			j++;
    		}*/	
    	}
    	printf("numero di /: %i\n",j);
    	j = 0;
    con questo ciclo stampo a video i vari caratteri della stringa temp

    ora però mi manca la condizione carattere è char
    come faccio a vedere se è uguale alla /?

    Non riesco a fare il confronto?

  9. #9
    codice:
    if(carattere=='/')
    {
        /*...*/
    }
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da bonzox
    codice:
    	lunghezza = strlen(temp);	
    	printf("lunghezza :%i\n", lunghezza);
    	k = lunghezza;	
    	for (i=0; i < lunghezza; i++)
    	{
    		carattere = temp[i];
    		printf("carattere: %c\n", carattere); 	
    
    		/*if (carattere == "/")
    		{	
    			j++;
    		}*/	
    	}
    	printf("numero di /: %i\n",j);
    	j = 0;
    con questo ciclo stampo a video i vari caratteri della stringa temp

    ora però mi manca la condizione carattere è char
    come faccio a vedere se è uguale alla /?

    Non riesco a fare il confronto?
    Come ti ha suggerito MItaly, un carattere deve essere racchiuso tra singoli apici (e non tra virgolette).

    Inoltre, fai in modo che il for cominci dall'ultimo carattere verso il primo ...

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.