Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568

    Turbo C non mi permette di dichiarare la stringa in questo modo

    Perchè il TurboC non mi fa scrivere
    char s[];
    vuole per forza che gli scriva la dimensione della stringa
    Grazie
    Ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    è pur sempre un array (di caratteri) no?
    e che non gli dici quanto deve essere grosso?

  3. #3
    ahi, ahi
    non e' questa una domanda da farsi

    Cosa dice l'ANSI C (fra le innumerevoli cose) riguardo gli array?
    Che la loro dimensione deve sempre essere rappresentata da un numero
    *costante*. Se non metti il numero, equivale a dire che l'array non
    ha indice costante, il che significa un bell'errore di compilazione.

    ah l'amour... :quipy:

    bye
    There are 10 kinds of people in the world: who knows the binary numeration and who not

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    25
    Le risposte che hai avuto fino ad ora non erano corrette.
    Il C è un linguaggio di basso livello.
    L'array di caratteri è un puntatore a carattere:

    char mystring[]; equivale a char *mystring;

    quindi se scrivi una cosa del genere il compilatore non alloca spazio
    per la tua stringa.
    ti consiglio di scrivere

    char mystring[]="ciao";
    dovrebbe funzionare oppure puoi fare anche:

    #define MAX_SIZE 50
    char mystring[MAX_SIZE]="ciao"; /*attenzione all BufferOverflow*/

    prova anche con
    char [mySstring]MAX_SIZE; //dovrebbe funzionare perche l'aritmetica dei puntatori è commutativa.bye

  5. #5
    Originariamente inviato da RmiMik

    char mystring[]="ciao";
    dovrebbe funzionare oppure puoi fare anche:
    Così mystring occupa 5 byte, e come vedi la dimensione della stringa è definita.
    Come dice TheGreatWorld:

    Originariamente inviato da TheGreatWorld

    Cosa dice l'ANSI C (fra le innumerevoli cose) riguardo gli array?
    Che la loro dimensione deve sempre essere rappresentata da un numero *costante*.

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    stai attento che le stringhe C hanno un altro carattere in piu: il terminatore!

  7. #7
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568
    Grazie ragazzi. Ho capito.
    Mi potreste spiegare questo comando a che serve e come si cerca in un'array una determinata riga(in una stringa anche). Scusate le domande ma ancora non ho comprato un libro di testo, cosa che farò molto presto.
    Grazie
    Ciao

  8. #8
    Originariamente inviato da AR64S-H
    Grazie ragazzi. Ho capito.
    Mi potreste spiegare questo comando a che serve e come si cerca in un'array una determinata riga(in una stringa anche).
    Puoi usare la ricerca sequenziale su una stringa:

    codice:
    #include <stdio.h>
    
    int main(){
     char s[]="Il cielo oggi è verde!";
     int i=0;
     while ((s[i] != 'c') && (s[i] != '\0'))
      i++;
     if (i == (sizeof(s)-1))
      printf("Il carattere non è stato trovato!");
     else
      printf("Carattere trovato alla posizione: %d",++i);
     return(0);
    }
    Carattere trovato alla posizione: 4 --> che poi nel vettore in realtà sarebbe nella posizione s[3] perchè in C si parte da s[0],s[1],..,....

  9. #9
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568
    Io intendo se faccio leggere un file che contiene i nomi di una rubrica da una stringa e voglio ricercare il cognome rossi e visualizzare tutte le righe con il nome rossi come devo fare?
    Grazie
    Ciao

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 © 2025 vBulletin Solutions, Inc. All rights reserved.