Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [C]ins in stringa

  1. #1
    Utente di HTML.it L'avatar di faibo
    Registrato dal
    Mar 2003
    Messaggi
    214

    [C]ins in stringa

    Come posso inserire un testo in una stringa ad un determinato punto???

    es: ho una stringa "inserire una stringa" e alla posizione nove voglio inserire "un testo in" così da ottenere una stringa "inserire un testo in una stringa"

    ke funzioni devo usare???

  2. #2
    Utente di HTML.it L'avatar di pdpmpd
    Registrato dal
    Jan 2003
    Messaggi
    448
    codice:
    char *ins_stringa(char *originale, const char *da_inserire, int posizione) {
      int lo=strlen(originale);
      int la=strlen(da_inserire);
      // se la posizione è inferiore a zero, verrà contata come 0
      // se la posizione è superiore alla lunghezza dell'orig., verrà contata come ultima.
      if (posizione < 0) posizione=0;
      else if (posizione > lo) posizione=lo;
      // alloca la stringa temporanea
      char *temp;
      if (posizione!=lo) {
        int tocp= lo-posizione;
    	int count=0;
    	temp= (char *) malloc(sizeof(char)*tocp);
        do
    	  temp[count++]=originale[count+lo-tocp];
    	 while (count<lo);
        }
      originale= (char *) realloc(originale,sizeof(char)*(lo+la+1));
      int count=posizione;
      while (count-posizione<la) { // copia la stringa da inserire
        originale[count++]=da_inserire[count-posizione];
    	}
      while (count<lo+la) {
        originale[count++]=temp[count-la-posizione];
    	}
      originale[lo+la]='\0';
      return originale;
      }
    funziona, è la prima cosa che mi è venuta in mente.
    se hai bisogno di chiarimenti chiedi pure.
    Drug misuse is not a disease, it is a decision, like the decision to step out in front of a moving car. [...] In this particular life-style the motto is "be happy now because tomorrow you are dying", but the dying begins almost at once, and the happiness is a memory.

  3. #3
    Utente di HTML.it L'avatar di faibo
    Registrato dal
    Mar 2003
    Messaggi
    214
    Grazie 1000!


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.