Array für String



  • @wob Eine letzte Frage. Auf diesem Site kann man keine file.zip hochladen, um ausführlicheren Quelltext zu zeigen ?



  • @clamicun sagte in Array für String:

    @wob Suchen Sie eine aus. Mein file heist main.cpp ... Ich denke ,es ist c++

    Du solltest dir schon sicher sein, in welcher Sprache du Hilfe benötigst. Andernfalls kann man dir schlecht helfen.

    Die Unterschiede zwischen C#, C++, C sind riesig. Dein Quellcode sieht erstmal nach C aus. Mir stellt sich allerdings die Frage, wenn du ein Projekt portieren sollst, aber nicht genau weißt, in welcher Sprache du dort gerade Quellcode schreibst, ob du schon ausreichend Erfahrung hast, um ein Assembler-Projekt zu portieren.



  • @DirkB Ich will nicht C lernen.
    Ich will auf Bitte eines Enkels einen Assembler-Quelltext in C++ übersetzen.
    Funktioniert perfekt, hat aber einige Schwachstellen, die nicht so elegant wie in Assembler gelöst werden können



  • @It0101 Fragte schon, ob hier file.zip mit Quelltext hochgeladen werden können ... Das file main.cpp hat 47 kb ... Das werde ich hier nicht hinschreiben


  • Mod

    @clamicun sagte in Array für String:

    @It0101 Fragte schon, ob hier file.zip mit Quelltext hochgeladen werden können ... Das file main.cpp hat 47 kb ... Das werde ich hier nicht hinschreiben

    Und was soll das bringen, hier 47kb zu posten? Das liest doch keiner, daher ist das auch keine Option. Die Hauptfrage ist doch immer noch, wieso du nicht einmal weißt, in welcher Sprache zu schreibst, und wie du denkst, diese ominöse Sprache gelernt zu haben. Denn wie ich schon in meiner ersten Antwort schrieb, ist da doch so einiges ganz schlimm falsch (sofern das C++ sein soll). Und zwar so schlimm, dass es halt nicht damit getan wäre, ein paar Zeilen zu ändern, sondern so dass du ganz anders denken musst, wie du ein Programm aufbaust.

    Um dir helfen zu können, musst du erst einmal die Grundlagen deiner Zielsprache lernen.



  • @clamicun sagte in Array für String:

    Funktioniert perfekt, hat aber einige Schwachstellen, die nicht so elegant wie in Assembler gelöst werden können

    Assembler und elegant?! Gut, kann sein. Aber dass es in einer Hochsprache weniger elegant sein soll, ist doch echt fragwürdig. Kurzum: ich glaube dir kein Wort.



  • @SeppJ Und was soll das bringen, hier 47kb zu posten?
    Lesen ist hilfreich.
    Deswegen fragte ich nach Zipfile Upload. Dann kann man es selber kompilieren.
    Das ist die Methode von vielen Foren.


  • Mod

    @clamicun sagte in Array für String:

    @SeppJ Und was soll das bringen, hier 47kb zu posten?
    Lesen ist hilfreich.
    Deswegen fragte ich nach Zipfile Upload. Dann kann man es selber kompilieren.
    Das ist die Methode von vielen Foren.

    In keinem Programmierforum der Welt werden 47kB Code für dich gelesen. Die übliche Methode, wie man Probleme nachvollziehbar macht:
    https://www.c-plusplus.net/forum/topic/200753/du-brauchst-hilfe



  • @SeppJ Lesen !
    Deshalb auxh als Zipfile



  • @wob Ich versuches es noch einmal.
    Dies ist einfacher zu verstehen und kompiliert.

    How to create a sort of stringarray ?
    I would like to store the available wfd.cFileName in an array.
    Later I could address them by their numbers.

    #include <windows.h>
    #include <iostream>
    using namespace std;
    int main() {

    WIN32_FIND_DATA wfd;
    char langarray_filename[200]; // ???;
    int langarray_fileposition[200];
    int counter=1;
    HANDLE File_hnd;
    char buffer[50];

    //###################
    File_hnd=FindFirstFile("languages_menu\*",&wfd);
    // If you compile it, change the path
    FindNextFile(File_hnd,&wfd); // .directory
    FindNextFile(File_hnd,&wfd); // .. directory - not needed

    wsprintf(buffer,"%u %s",counter,wfd.cFileName);
    MessageBox(0,buffer,"pos name",MB_OK);

    //strcpy(langarray_filename[counter],wfd.cFileName); ???
    // This causes:
    // [Error] invalid conversion from 'char' to 'char*' [-fpermissive]

    langarray_fileposition[counter]=counter;

    while (FindNextFile(File_hnd,&wfd))
    {
    counter++;
    wsprintf(buffer,"%u %s",counter,wfd.cFileName);
    MessageBox(0,buffer,"pos name",MB_OK);

    //strcpy(langarray_filename[counter],wfd.cFileName); ???
    // This causes:
    // [Error] invalid conversion from 'char' to 'char*' [-fpermissive]

    langarray_fileposition[counter]=counter;
    }

    FindClose(File_hnd);
    //###################################

    for( int a = 1; a <= counter; a = a + 1) {

    wsprintf(buffer,"%u",langarray_fileposition[a]);
    MessageBox(0,buffer,"pos",MB_OK);
    }

    return 1;
    

    }


  • Mod

    @clamicun sagte in Array für String:

    @SeppJ Lesen !
    Deshalb auxh als Zipfile

    Wird es dadurch kürzer zu lesen?



  • @clamicun sagte in Array für String:

    @wob Ich versuches es noch einmal.

    Das bringt nichts, da du offenbar die Antworten nicht liest.

    Falls das hier dein Problem ist:

    How to create a sort of stringarray ?
    I would like to store the available wfd.cFileName in an array.
    Later I could address them by their numbers.

    Dann hat das @SeppJ oben in der allerersten Antwort schon beantwortet.


  • Mod

    @clamicun sagte in Array für String:

    @wob Ich versuches es noch einmal.
    Dies ist einfacher zu verstehen und kompiliert.

    How to create a sort of stringarray ?
    I would like to store the available wfd.cFileName in an array.
    Later I could address them by their numbers.

    Wie ich schon ganz am Anfang sagte, du willst den gesamten Code durch so etwas wie

    @SeppJ sagte in Array für String:

    std::vector<std::string> filenames;
    while (FindNextFile(File_hnd,&wfd))
        filenames.push_back(wfd.cFileName);
    

    ersetzen. Möglicherweise mit wstring, usw. , siehe die Antworten anderer Leute. Für jemanden, der anderen Leuten vorwirft, angeblich nicht richtig zu lesen, liest du ziemlich schlecht mit.



  • Dieser Beitrag wurde gelöscht!


  • @SeppJ Nein, aber ich kann es kompilieren und den/die eventuellen Fehler checken



  • @clamicun sagte in Array für String:

    @SeppJ Nein, aber ich kann es kompilieren und den/die eventuellen Fehler checken

    Es ist völlig irrelevant ob etwas kompiliert oder nicht.
    Du sagst du willst C++ programmieren, aber du programmierst nur C. Das hätte zur Folge, dass dein kompletter Quellcode eigentlich falsch ist, weil er in einer anderen Sprache programmiert ist, als du wolltest. Egal ob er kompiliert oder sogar funktioniert.

    Sag doch einfach, du willst irgendwas irgendwie machen, hauptsache es funktioniert, dann verschiebt jemand deinen Thread ins C-Forum oder in "Jenseits der Programmierung" und dir wird eventuell geholfen, wenn du nicht gerade damit drohst, 47kb reinen Quelltext zu posten.

    Rein interessehalber: um wieviele Sourcecode-Dateien handelt es sich denn bei den 47kb ? Wieviel müsste man hier durcharbeiten?



  • @clamicun sagte in Array für String:

    string langarray_filename[50]; // ??
    Verursacht beim Kompilieren:
    [Error] 'string' was not declared in this scope

    Hast Du denn den Header eingebunden und den namespace std bekannt gemacht?


Anmelden zum Antworten