1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

2-dimensionale String Arrays

  • Voltaren
  • 10. Dezember 2005 um 02:08
  • Unerledigt
  • Voltaren
    2
    Voltaren
    Mitglied
    Punkte
    15
    Beiträge
    2
    • 10. Dezember 2005 um 02:08
    • #1

    Also ich soll bei Sysporg Bsp1B einen authentifiezierungsmechanismus zum kontrollierten ausführen von Programmen machen.
    Client-Server, Message Queue...

    Mein Problem ist nun folgendes:

    Lesen sie nach dem start von cmdprox das authfile zeilenweise in ein 2-dimensionales String array ein. Sie könnne davon ausgehen das maximal 5 Benutzer mit maximal 5 Einträgen vorhanden sind (beschränken sie die maximale Länge der Strings auf einen sinnvollen Wert).

    das authfile ist so aufgebaut: <user>: <command1>...<commandn>

    wie geh ich da vor da es in C ja keine strings gibd?

    sprich wie erstellt man ein 2-dimensionales string array das ca so ausschauen soll:

    authFile[][] = [User1...Usern] [command1...commandn]

    also das mann dann auf die einträge ca so:

    auth[0][0] = "michi"; auth[0][1] = "michicmd1"; auth[0][2] = "michicmd2"
    auth[1][0] = "alex"; auth[1][1] = "alexcmd1"; alexauth[1][2] = "cmd2"

    zugreifen kann!

    ich hoffe irgendwer weiß da bescheid und kann mir einen denkanstoß geben weil abgabe is schon dienstag:(

  • MaxAuthority
    17
    MaxAuthority
    Gewinner des Desktop-Contest 2002
    Reaktionen
    5
    Punkte
    3.165
    Beiträge
    626
    • 10. Dezember 2005 um 02:21
    • #2
    Zitat von Voltaren

    Also ich soll bei Sysporg Bsp1B einen authentifiezierungsmechanismus zum kontrollierten ausführen von Programmen machen.
    Client-Server, Message Queue...

    Mein Problem ist nun folgendes:

    Lesen sie nach dem start von cmdprox das authfile zeilenweise in ein 2-dimensionales String array ein. Sie könnne davon ausgehen das maximal 5 Benutzer mit maximal 5 Einträgen vorhanden sind (beschränken sie die maximale Länge der Strings auf einen sinnvollen Wert).

    das authfile ist so aufgebaut: <user>: <command1>...<commandn>

    wie geh ich da vor da es in C ja keine strings gibd?

    sprich wie erstellt man ein 2-dimensionales string array das ca so ausschauen soll:

    authFile[][] = [User1...Usern] [command1...commandn]

    also das mann dann auf die einträge ca so:

    auth[0][0] = "michi"; auth[0][1] = "michicmd1"; auth[0][2] = "michicmd2"
    auth[1][0] = "alex"; auth[1][1] = "alexcmd1"; alexauth[1][2] = "cmd2"

    zugreifen kann!

    ich hoffe irgendwer weiß da bescheid und kann mir einen denkanstoß geben weil abgabe is schon dienstag:(

    Alles anzeigen

    1.) bitte keine eigenen font deklarative bei posts verwenden, sieht einfach nur grausig aus :)

    2.) also wenn du maximal 5x5 eintraege hast, geht eh ein array[5][5]; und dann die zuweisung wie du sie grad gemacht hast.

    wenn du die groesse dynamisch machen musst, hilft malloc/realloc/calloc, jedoch musst du beachten, dass du da nur 1dimensionale arrays erstellen kannst, und mit etwas arithmetik selber herumrechnen musst.

    http://vimperator.org - Make Firefox behave like Vim

  • J.Petso
    15
    J.Petso
    Mitglied
    Reaktionen
    14
    Punkte
    2.384
    Beiträge
    457
    • 10. Dezember 2005 um 02:28
    • #3

    Ein String ist eigentlich ein Array aus mehreren Zeichen hintereinander. In moderneren Sprachen eher unwichtig, aber in C werden Strings standardmäßig als "char* string;" bzw. "char[] string;" benutzt (was eigentlich das gleiche ist). Zusammen mit den String-Funktionen in string.h reicht das grad, um nicht zu verzweifeln.

    Ein zweidimensionales String-Array wäre dann also ein dreidimensionales char-Array mit einer selbstgewählten Konstante MAX_LEN (z.B.) als Länge für die innerste Dimension (sprich die rechtseste Arrayklammer).

    Wenn du sonst nicht weiterweißt, bin ich mir 100pro sicher, dass du mit "String Tutorial C" in Google massenweise hilfreiche Einführungen in die Stringbenutzung mit C kriegst.

    "Egbert B. Gebstadter is the Egbert B. Gebstadter of indirect self-reference." - Egbert B. Gebstadter

  • Voltaren
    2
    Voltaren
    Mitglied
    Punkte
    15
    Beiträge
    2
    • 11. Dezember 2005 um 01:06
    • #4

    das mid 3 dinemsionalen arrays hört sich gut an :)
    aber kannsd du mir bitte noch erklären wie ich diese dann fülle?

    auth[5][25][12] also
    auth[max5benutzer][max25commands][zu maximal 12 zeichen]?

    problem is hald das array ned immer voll is da ja auch benutzer mid nur einen eintrag vorhandne sein können etc.

    des is ja dann voll speicherverschwendung.
    aber egal wir hams ja außerdem is dienstag deadline :ausheck:

    was ich aber jetz nicht weiß wie weiß ich diesem array dann die einträge zu?

    also sowas hab ich daweil:

    for (token = strtok (line, SEP); token != NULL; token = strtok (NULL, SEP)) {

    /* wie bekomm ich den token jetz auf die richtige stellle in meinem auth-array? */

    }

  • MaxAuthority
    17
    MaxAuthority
    Gewinner des Desktop-Contest 2002
    Reaktionen
    5
    Punkte
    3.165
    Beiträge
    626
    • 11. Dezember 2005 um 01:18
    • #5
    Zitat von Voltaren

    das mid 3 dinemsionalen arrays hört sich gut an :)
    aber kannsd du mir bitte noch erklären wie ich diese dann fülle?

    auth[5][25][12] also
    auth[max5benutzer][max25commands][zu maximal 12 zeichen]?

    problem is hald das array ned immer voll is da ja auch benutzer mid nur einen eintrag vorhandne sein können etc.

    des is ja dann voll speicherverschwendung.
    aber egal wir hams ja außerdem is dienstag deadline :ausheck:

    was ich aber jetz nicht weiß wie weiß ich diesem array dann die einträge zu?

    also sowas hab ich daweil:

    for (token = strtok (line, SEP); token != NULL; token = strtok (NULL, SEP)) {

    /* wie bekomm ich den token jetz auf die richtige stellle in meinem auth-array? */

    }

    Alles anzeigen

    man strncpy

    http://vimperator.org - Make Firefox behave like Vim

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung