Char Arrays
-
Hallo,
bin grad son bischen mit C am programmieren und habe nun folgendes Problem:Ich habe eine Liste mit Namen eingelesen (m.1, m.2, m.3, m.4,...)
die ich dann nutze und ausgebe. Nur kommen einige Namen mehrmals vor, ich will aber jeden Namen nur einmal drin haben.Wollte das jetzt so machen:
Erstellen eines char array,
Mit for-Schleife die bereits eingelesenen Namen ins char array schreiben
Beim einlesen bzw. vorm Ausgeben das char array fragen ob Name schon vorhanden ist.Geht das so? wenn ja son kleiner bsp-code wäre toll...
danke schön
-
while(zeiger && !abort) //Solange es Elemente gibt und user noch nicht gefunden { if(strstr(zeiger->user,tmp_user))//Überprüfe ob es den User schon gibt //zeiger->user = Die user wo schon in der Liste/Array stehen //tmp_user = Der User der neu eingefügt werden soll { //Irgendwas tun abort=1; } zeiger=zeiger->next; } if(!abort) { //Neuen Namen eintragen }
Hab sowas mal vor ner Weile Programmiert ist zwar mit pointern aber das kannst du ja leicht für ein Array umschreiben.
-
#include <stdio.h> #include <string.h> #define LEN 20 int main() { char name[10][LEN]; int i; char* ptr; for (i=0;i<10;i++) { fgets(name[i],LEN,stdin); ptr=strchr(name[i],'\n');//anderndalls taugt der string nix zum vergleich if(ptr!=NULL) *ptr=0; if(strcmp(name[i],"exit")==0) break; for (int j=i-1;j>=0;j--) { if(strcmp(name[i],name[j])==0) i--; }; }; for (int m=0;m<i;m++) printf("%s\n",name[m]); return 0; };