Utilizzando questo sito accetti il nostro uso dei cookie. Approfondisci

Dividere stringa con carattere separatore in C/C++

Se hai bisogno di dividere una stringa tramite un carattere separatore, ad esempio un “.” , utilizza questo codice. In uscita avrai un array formato da N valori, con N che è uguale al numero di volte in cui è presente il carattere separatore + 1.
Ad esempio prendendo come carattere separatore il “.” e questa stringa: “robertoiacono.it” , otterremo un vettore di 2 elementi, robertoiacono e it.

Salva questo codice come nomefile.cpp

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 int main(){
 char str[] = "robertoiacono.it"; //stringa che andremo a leggere nel pacchetto
	char *i = str;
	char **moreStr = NULL;
	char primo[9],secondo[9],terzo[9],quarto[9];
	int k=0;
	int ip[4];

	int nDot = 0;

	while( *i++ != '\0' )
	{
		if( *i == '.' )
			++nDot;
	}

	moreStr = (char **) malloc( (nDot+1) * sizeof(char *) );

	if( moreStr != NULL )                       //separa l'ip nei 4 ottetti
	{
		int pos = 0;
		i = str;
		moreStr[ pos++ ] = i;

		while( *i++ != '\0' )
		{
			if( *i == '.' )
			{
				*i = '\0';
				moreStr[ pos++ ] = ++i;
			}
		}

    printf("queste sono le stringhe separate: %s - %s\n",moreStr[0],moreStr[1]);

	}
	return 0;
}

Il risultato della separazione della stringa verrà salvato nel vettore moreStr.
Se hai bisogno di cambiare il carattere separatore, basta che cambi il “.” con “carattere separatore” ed il gioco è fatto!


VUOI CREARE IL TUO SITO O BLOG WORDPRESS?

Scegli uno tra i migliori hosting per WordPress

HOSTING

Scegli uno tra i migliori hosting per WordPress

Hosting

Scegli uno tra i migliori temi WordPress professionali

GRAFICA

Scegli uno tra i migliori temi WordPress professionali

Grafica

Guide e risorse per gestire il sito WordPress a 360°

GESTIONE

Guide e risorse per gestire il sito WordPress a 360°

Gestione

EMAIL NEWSLETTER

Vuoi ricevere i miei ultimi articoli
comodamente nella tua email? È gratis!
Ben 3552 persone lo stanno già facendo!
Anonimo
   
con le dita sempre in costante, frenetico movimento sulla tastiera… vengo spesso trascinato e catturato “in rete” per colpa delle mille idee che mi girano per la testa (prima o poi troverò quella giusta)… dal futuro incerto (nonostante una laurea, e chi non lo è?..siamo in tanti!) .. credo fortemente nella condivisione della conoscenza!
4 Commenti
  • alex

    bella robi! se posso permettermi di suggerire una soluzione alternativa, io ho trovato particolarmente utile la funzione split delle librerie boost (www.boost.org). in particolare è contenuta nell’header /boost/algorithm/string.hpp

    • Roberto

      rimani sempre il migliore!!! 😉

  • Paolo

    strtok!

    • Roberto

      meno male che c’è qualcuno che se ne intende :)
      La funzione strtok viene utilizzata per estrarre da una stringa una serie di sottostringhe dividendola tramite dei caratteri separatori.
      Per vedere come implementare questa funzione, vai qui.

Seguimi

Scarica gli ebook gratuiti

Vuoi creare e gestire il tuo blog WordPress autonomamente ed in maniera gratuita?

Allora scarica gratuitamente gli ebook Blogging Box e Le 30+ cose da non fare con WordPress, inserisci la tua email qui sotto:
13584+
Scarica gratuitamente gli ebook!

Per maggiori informazioni guarda questa pagina per la Blogging Box e questa per le 30+ cose da non fare con WordPress.

Scarica gli ebook gratuiti

Vuoi creare e gestire il tuo blog WordPress autonomamente ed in maniera gratuita?

Allora scarica gratuitamente gli ebook Blogging Box e Le 30+ cose da non fare con WordPress, inserisci la tua email qui sotto:
13584+
Scarica gratuitamente gli ebook!

Per maggiori informazioni guarda questa pagina per la Blogging Box e questa per le 30+ cose da non fare con WordPress.
Unisciti agli oltre 10999 lettori
che seguono questo blog
3152
982
2251
4614