PDA

Visualizza la versione completa : [C++] forbids assignment of arrays (dizionario)


bako
13-12-2004, 19:56
salve .. sto provando a fare un es assegnatomi dal tizio dell'uni .. ma nn riesco a compilare il listato:



struct lemma {
char italiano[128];
char inglese[128];
};

int caricadafile(char filename[256],lemma lemmi[],int tot){
fstream f;
char carattere;
char riga[128];
int count=0,slen=0;
lemma tmpl;

f.open(filename,ios::in);
if (f.fail()) { cout << "il file nn esiste, nessun lemma caricato"; return 1;}
while (f.get(carattere)){
if ((carattere == ';') || (carattere == ':')){
if (carattere==';'){
riga[slen]='\0';
lemmi[count].italiano=riga;
slen=0;
}
else {
riga[slen]='\0';
lemmi[count].inglese=riga;
count++;
slen=0;
}
}
else{
if (carattere != '\n'){
riga[slen]=carattere;
slen++;
}
}
}
tot=count;
return 0;
}


il programma dovrebbe essere un dizionario, la mia idea di caricare i lemmi da un file (con questa formattazione italiano;inglese: ) e metterli in un vettore di struct .. il problema su queste righe
lemmi[count].italiano=riga;
lemmi[count].inglese=riga;
l'errore forbids assignment of arrays
:dh:

pprllo
13-12-2004, 20:00
Perch non puoi usare l'assegnamento (=) con le stringhe. Per copiare le stringhe usa
strcpy(stringa_destinazione, stringa_origine)

bako
13-12-2004, 20:33
sono un cretino .. e il bello che lo so che nn si pu fare .. :incupito:

pprllo
13-12-2004, 20:44
Capita :D

Loading