Pagina 4 di 4 primaprima ... 2 3 4
Visualizzazione dei risultati da 31 a 38 su 38
  1. #31
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    161
    si ci sono. Però in ogni caso la parte prima e la parte dopo gli apici sono sempre uguali in tutte le frasi che saranno del tipo:
    "Guarda oggi è 'nuvoloso' bene bene"
    "Guarda oggi è 'nebbioso' bene bene"
    "Guarda oggi è 'soleggiato' bene bene"
    "Guarda oggi è 'freddo' bene bene"
    "Guarda oggi è 'afoso' bene bene"
    ... insomma hai capito il meccanismo no? Quindi in teoria si potrebbe identificare anche se non ci fossero, ma dato che ci sono si taglia la testa al toro.

  2. #32
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Se la parte che sta prima e' sempre la stessa, vuol dire che sara' sempre della stessa lunghezza ... quindi, l'inizio della stringa che ti interessa sara' sempre nello stesso punto ... concordi?

    Ad esempio, se tu volessi visualizzare a partire dalla stringa che ti interessa, con uno degli esempi che hai fatto, potresti scrivere

    codice:
      char s[250];
    	
      strcpy(s, "Guarda oggi è 'nuvoloso' bene bene");
    
      printf("%s\n", s+14);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #33
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    161
    ok... andrebbe bene o stesso così giusto:
    codice:
    char stringa[250], parte [150];
    fstream testo("testo.txt",ios::in);
    testo.getline(stringa,500);
    testo.close();
    parte= stringa + 15 // 15 perchè io vorrei togliere l' apice;
    e anche dopo aver fatto ciò come faccio a tagliarla prima del secondo apice?
    grazie

  4. #34
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Attenzione all'uso dei puntatori ... non puoi scrivere

    parte= stringa + 15;

    ... comunque, dato che c'e' un singolo carattere da cercare (l'apice finale) puoi usare la funzione strchr che opera in modo analogo alla strstr ma per un carattere ...

    Qualcosa del genere ...

    codice:
     
    	char stringa[250], parte[150];
    	char *stop;
    	int plen;
    	
    	strcpy(stringa, "Guarda oggi è 'nuvoloso' bene bene");
    
    	stop=strchr(stringa+15, '\'');
    	plen=stop-stringa-15;
    	strncpy(parte, stringa+15, plen);
    	parte[plen]=0;
    
    	printf("%s\n", parte);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #35
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    161
    Ho provato questo ma mi da errore in 2 punti:
    codice:
    #include <cstdlib>
    #include <iostream>
    #include <string.h>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
      char stringa[250], parte[150];
    	char *stop;
    	int plen;
    	
    	strcpy(stringa, "Guarda oggi è 'nuvoloso' bene bene");
    
    	stop=strchr(stringa+15, ''');
    	plen=stop-stringa-15;
    	strncpy(parte, stringa+15, plen);
    	parte[plen]=0;
    
    	printf("%s\n", parte);
    
    }
    Errori:

    codice:
    main.cpp:15:26: empty character constant
    main.cpp: In function `int main(int, char**)':
    main.cpp:15: error: missing terminating ' character
    main.cpp:16: error: expected `)' before "plen"
    
    make.exe: *** [main.o] Error 1
    è come se non riconoscesse ' come carattere...

  6. #36
    Il che è più che normale; devi inserirlo come sequenza di escape:
    codice:
    	stop=strchr(stringa+15, '\'');
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #37
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Deve essere

    stop=strchr(stringa+15, '\'');


    P.S. E' il tag CODE che lo elimina ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #38
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    161
    ok grazie mille di tutto... posto il codice nel qual caso in cui qualcuno ne avesse bisogno dopo di me

    codice:
    #include <cstdlib>
    #include <iostream>
    #include <string.h>
    #include <conio.h>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
      char stringa[250], parte[150];
    	char *stop;
    	int plen;
    	
    	strcpy(stringa, "Guarda oggi è 'nuvoloso' bene bene");
    
    	stop=strchr(stringa+15, '\'');
    	plen=stop-stringa-15;
    	strncpy(parte, stringa+15, plen);
    	parte[plen]=0;
    
    	printf("%s\n", parte);
    	getch();
    
    }
    ciao ciao e grazie a tutti soprattutto a te oregon... Ma non credere che sia finita qui... avrò ancora bisogno di te molto presto... Non ci posso fare niente se a scuola non mi insegnano nulla... poi adesso è arrivata anche quella furbetta della gelimini che mi riduce anche le ore di laboratorio di sistemi... (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 © 2026 vBulletin Solutions, Inc. All rights reserved.