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

    [C/C++] Troncare una stringa ogni 20 caratteri....help!

    Ragazzi conoscete qualche funzione che tronca automaticamente una stringa in n stringhe(dipende da quanto è lunga quella in ingresso...) da 20caratteri ciascuna? Ho cercato nei reference ma nn ho trovato nulla...

    Se non esiste nulla di automatico potetemi scrivere una funzione che svolge tale compito???

    Grazie mille!
    Andrea

    Vediamo..sogni che diventano professione...passioni che diventano vita... Free as in Freedom...

  2. #2
    :master: non è molto chiara la tua richiesta, devi chiarirla meglio
    Allora, tu hai un testo formato da stringhe tutte di n caratteri
    e devi tagliarne una ogni e quindi all'n-esima stringa ne devi troncare una?
    Se è così l'algoritmo è fattibile
    fai un esempio

  3. #3
    Originariamente inviato da Bloody3000
    :master: non è molto chiara la tua richiesta, devi chiarirla meglio
    Allora, tu hai un testo formato da stringhe tutte di n caratteri
    e devi tagliarne una ogni e quindi all'n-esima stringa ne devi troncare una?
    Se è così l'algoritmo è fattibile
    fai un esempio
    Cioè ho una stringa sola(array di caratteri cioè) ,ad es di 80 caratteri,e la devo tagliare in n stringhe di 20 caratteri ciascuna(in questo caso n stringhe è 4,perchè 80/20=4).

    Ho ad es STRINGA di 80caratteri che devo dividere in STRINGA1 STRINGA2 STRINGA3 e STRINGA4,di 20caratteri l'una(ripeto in questo caso son 4 stringhe di 20caratteri perchè quella iniziale è di 80)

    come potrei fare?? :master:

    Grazie mille

    Andrea
    Vediamo..sogni che diventano professione...passioni che diventano vita... Free as in Freedom...

  4. #4
    up

    Vediamo..sogni che diventano professione...passioni che diventano vita... Free as in Freedom...

  5. #5
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Il risultato deve essere un vettore di stringhe?

  6. #6
    Originariamente inviato da iguana13
    Il risultato deve essere un vettore di stringhe?
    si un vettore di stringhe o meglio ,come ho scritto sopra, 4 vettori di stringhe(separati stringa1 ,stringa2 ad es...ecc) ad es se la stringa iniziale è di 80caratteri...



    ps iguà xchè su msn ti vedo sempre offline?
    Vediamo..sogni che diventano professione...passioni che diventano vita... Free as in Freedom...

  7. #7
    ciao ci sono riuscito!

    using namespace std;

    #include <iostream>

    const int l=20;

    struct parola{

    char s[l+1];//l'uno in piu è per il terminatore

    };

    int main(){

    char stringa[]={"ciao mamma come stai? io abbastanza bene, che mi racconti di bello? ieri sera sono andato"};


    int n=strlen(stringa)+1;

    n/=l;
    n++;//dato che la divisione è fra interi devo prevedere che ci sia resto, quindi se non aumento l'ultimo pezzo di stringa viene taglito

    parola *p=new parola[n];

    for(int i=0;i<n;i++)
    {
    for(int k=0;k<l;k++)
    {
    if (stringa[k+i*l]!='\0')//questo evita che ci sia overflow
    {
    p[i].s[k]=stringa[k+i*l];
    }
    }
    p[i].s[l]='\0';
    }

    cout<<"ORIGINALE=\t\t"<<stringa<<endl;


    for(int i=0;i<n;i++)
    {
    cout<<"STRINGA "<<i<<"\t\t"<<p[i].s<<endl;
    }

    return 0;
    }


    e questo è l'output:

    ORIGINALE= ciao mamma come stai? io abbastanza bene, che mi racconti di bello? ieri sera sono andato
    STRINGA 0 ciao mamma come stai
    STRINGA 1 ? io abbastanza bene
    STRINGA 2 , che mi racconti di
    STRINGA 3 bello? ieri sera so
    STRINGA 4 no andato


    se qualcosa non è chiaro chiedi pure!
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

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.