Perchè il TurboC non mi fa scrivere
char s[];
vuole per forza che gli scriva la dimensione della stringa
Grazie
Ciao
Perchè il TurboC non mi fa scrivere
char s[];
vuole per forza che gli scriva la dimensione della stringa
Grazie
Ciao
 
			
			è pur sempre un array (di caratteri) no?
e che non gli dici quanto deve essere grosso?
 
			
			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
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
Così mystring occupa 5 byte, e come vedi la dimensione della stringa è definita.Originariamente inviato da RmiMik
char mystring[]="ciao";
dovrebbe funzionare oppure puoi fare anche:
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*.
michele
michele.facchin@virgilio.it
Server:irc.azzurra.org | /join #c
 
			
			stai attento che le stringhe C hanno un altro carattere in piu: il terminatore!
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
Puoi usare la ricerca sequenziale su una stringa: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).
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],..,....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); }
michele
michele.facchin@virgilio.it
Server:irc.azzurra.org | /join #c
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