tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
22
ZUGRIFFE
1454
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Sneaker Sneaker ist offline Mitglied Silber
    Registriert seit
    Oct 2002
    Beiträge
    59
    Hallo

    Ich hab mal wieder ne Frage und zwar gibt eine Funktion die ein 2D charakter array zu einem normalen 1D charakter array mit einem beliebigen trennzeichen verbindet ?
    Halt wie die PHP funktion Implode.

    MfG
    Sneaker
     

  2. #2
    Registriert seit
    Jan 2002
    Ort
    Bayern
    Beiträge
    1.390
    Also meines Wissens nach gibt es da nix. Da musst du dir hald selbst was programmieren, der Algorithmus dafür ist ja auch net sonderlich schwer.
    Am besten du baust dir daraus gleich eine vernünftige Klasse, denn sowas kann man immer mal brauchen.
    In diese Klasse fügst du dann die entsprechenden Methoden ein um die Behandlungen mit solchen Arrays zu verarbeiten.

    Gruss Homer
     

  3. #3
    Sneaker Sneaker ist offline Mitglied Silber
    Registriert seit
    Oct 2002
    Beiträge
    59
    Jo hab ich jetzt auch gemacht hatte keinen bock zu warten
    Ich frag ja auch nur weil Programmierer sind ja tipp faule Menschen und da hab ich gedacht sowas gibs vielleicht schon, weil wie schon gesagt sowas wird recht oft gebraucht...

    Naja hab noch ein paar fragen und zwar: (ganz anderes Thema)
    Wie kann ich mir eine Datei erzeugen wenn sie noch nicht existiert und wie kann ich eine datei in der was steht leeren ? muss ich da alles überschreiben oder gibs da tolle funktionen ?
    naja hoffe auf antwort sonst bin ich wieder schneller :P
     

  4. #4
    Registriert seit
    Jan 2002
    Ort
    Bayern
    Beiträge
    1.390
    Also das mit dem Datei erzeugen ist kein Stress:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
     
    #include <stdio.h>
    int main()
    {
     // Filepointer erstellen
     FILE* pDatei = NULL;
     // Datei zum schreiben öffenen und wenn nicht da dann erstllen
     pDatei = fopen("c:\\test.txt", "w");
     // schauen ob alles ok
     if ( pDatei != NULL )
     {
      // was reinschreiben (schau mal in MSDN nach fputs() fwrite())
     }
     // Datei wieder schließen
     fclose(pDatei);
     // den Inhalt der Datei kann man ganz einfach löschen, indem man
     // sie nochmal zum schreiben öffnet, denn wenn sie schon vorhanden
     // ist, dann ist sie leer
     pDatei = fopen("c:\\test.txt", "w");
     // gleich wieder schließen
     fclose(pDatei);
     return 0;
    }
    Schau einfach mal ein wenig in der MSDN rum, gibt noch zig Möglichkeiten um mit Dateien zu arbeiten

    Gruss Homer
     

  5. #5
    Sneaker Sneaker ist offline Mitglied Silber
    Registriert seit
    Oct 2002
    Beiträge
    59
    Die hilfe benutz ich heute schon den ganzen tag.
    wegen dem Dateien erstellen muss ich da den kompletten fadt angeben ? weil bei mir ****t es nicht ich gib als pfad nur den datei namen an wird dann nicht die datei im aktuellen directory erstellt ?

    Das mit dem leeren ****t aber gut bloss leider kann ich irgendwie keine abfrage machen ob die datei überhaupt existiert dann müsste pDatei doch NULL sein ? also false wenn ich das in eine if bedingung packe dann wird bloss das close nicht ausgeführt somit wird die datei auch nicht geleert udn das wundert mich
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    int CJobs::clearJobFile()
    {
        FILE* pDatei = NULL;
        pDatei = fopen(m_acPfad, "w");
        if(pDatei) fclose(pDatei);
        return 0;
    }

    wobei der m_acPfad der Dateiname ist.
    Sollte doch richtig sein oder ?

    edit:
    hat sich erligt mit dem clear wenn ich schreiben will kann ich nicht lesen ob die datei existiert !
    Geändert von Sneaker (24.10.02 um 22:01 Uhr)
     

  6. #6
    Registriert seit
    Mar 2002
    Ort
    Schweiz (Herkunft Deutschland)
    Beiträge
    3.533
    So kannst Du prüfen, ob Deine Datei existiert******

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
    BOOL CJobs::IsFileAvailable()
    {
        try
        {
            CFile file(m_acPfad, CFile::modeRead );
            file.Close();
        }
        catch (CFileException* e)
        {
            if (e->m_cause == CFileException::fileNotFound)
            {
                e->Delete();
                return (FALSE);
            }
                        
            e->ReportError();
            e->Delete();
            return (FALSE);
        }
     
        return (TRUE);
     
    } // BOOL CJobs::IsFileAvailable()
     

  7. #7
    Registriert seit
    Jan 2002
    Ort
    Bayern
    Beiträge
    1.390
    Also sorry goela, bevor jemand Exeption-Hanling und mit der CFile-Klasse umgeht. Sollte er doch mal die grundlegenden C-Befehle für die Dateibehandlung können. *g*

    @Sneaker schau dir mal access() bzw. _access() an, damit kannst du so einiges nachprüfen, ob eine Datei existiert, oder ob du Schreibrechte hast usw...


    Gruss Homer
     

  8. #8
    Registriert seit
    Mar 2002
    Ort
    Schweiz (Herkunft Deutschland)
    Beiträge
    3.533
    Also sorry goela, bevor jemand Exeption-Hanling und mit der CFile-Klasse umgeht.
    Da stimme ich Dir nur teilweise zu****** Warum?
    1. Wenn jemand schon objektorientiert Programmiert, dann sollte er wenn möglich nicht C-API verwenden!! Beispiel: malloc, free in C++ - nein danke! new, delete****** usw.
    2. Bin davon ausgegangen, dass er mit der MFC arbeitet! Dann ist es durchaus angebrachter mit CFile zu arbeiten******
    3. Exceptions sollte eigentlich von Anfang an verwendet werden, da gerade bei Dateien öffnen die Fehler wesentlich besser abgefangen werden können.
     

  9. #9
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.091
    es gibt doch auch noch die ansi-konformen klassen ifstream und ofstream für die bearbeitung von dateien. beide enthalten eine klassenmethode namens open(), die zurückgibt, ob die datei geöffnet werden konnte.
    nur weil man nicht mit der mfc oder vcl arbeiten will, muss man ja nicht ohne objektorientierung auskommen.
     
    "You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse

  10. #10
    Registriert seit
    Mar 2002
    Ort
    Schweiz (Herkunft Deutschland)
    Beiträge
    3.533
    nur weil man nicht mit der mfc oder vcl arbeiten will, muss man ja nicht ohne objektorientierung auskommen
    Habe ich ja auch nicht behauptet************ Wenn aber schon objektorientiert, dann schon richtig! Es muss ja nicht die MFC sein, aber OOP und "schäbiges" printf, fopen******!

    Wie Du ja geschrieben hast gibt es ja eben die ansi-konformen Klassen****** Die sollte man wenn dann schon verwenden******!
     

  11. #11
    Sneaker Sneaker ist offline Mitglied Silber
    Registriert seit
    Oct 2002
    Beiträge
    59
    thx erstmal

    mit der fstream klasse komm ich irgendwie noch nicht so richtig klar deswegen benutz ich noch die anderen funktionen wenn mir einer ne anleitung (auf deutsch) liefern kann nur her damit.
    Und bei OOP stehe ich gerade am anfang...
     

  12. #12
    Registriert seit
    Mar 2001
    Ort
    München
    Beiträge
    4.785
    Bevor ich OOP maessig eine Datei oeffne um sie mit objekt orientierter Lese technik lese
    muss ich erstmal passende Designpattern finden bzw mein Objekt Orientierte Analyse per UML planen
    naja oder ich lese eben ne datei
     
    Erst wenn der letzte Programmierer eingesperrt...
    ...und die letzte Idee patentiert ist, werdet ihr merken, dass Anwälte nicht programmieren können.
    -------------------
    chris: hey Tom hast du eigentlich ne Freundin
    jdar: ich bin tutorials.de Mod!

  13. #13
    Sneaker Sneaker ist offline Mitglied Silber
    Registriert seit
    Oct 2002
    Beiträge
    59
    so nun wollt ich also gucken ob es die datei geht hab acuh das super programmier beispiel genommen aber ich glaub da fehlen bei mir header dateien da er den Dateityp CFile nicht findet !

    edit:
    Wie heisst es "selbst ist der Programmierer" also ich muss die afx.h includen wieder ein problem ich muss aber die windows.h includen wegen farben (ich weiss alles spielerein *g*) und das mag er nicht... (der compiler )

    edit zum 2:
    Also die _access funktioniert super naja ich würde das lieber bis jetzt mit den normalen funktionen machen weil sonst wird das so ein gemisch aus MFC objekten und normalen funktionen und das muss ich ja inner schule abgeben
    Geändert von Sneaker (25.10.02 um 15:10 Uhr)
     

  14. #14
    Registriert seit
    Mar 2002
    Ort
    Schweiz (Herkunft Deutschland)
    Beiträge
    3.533
    Zur Info:
    CFile ist eine MFC Klasse und Du machst ja wohl eine Konsolenanwendung!?
     

  15. #15
    Sneaker Sneaker ist offline Mitglied Silber
    Registriert seit
    Oct 2002
    Beiträge
    59
    jo ich mach konsolen anwendungen...
    und ich meine objekte im dem sinne das ich aus klassen ja objekte erstelle oder nicht ?
     

Ähnliche Themen

  1. SQL Abfragen Lösen (10€ gibs dafür)
    Von refl3x im Forum Relationale Datenbanksysteme
    Antworten: 5
    Letzter Beitrag: 23.04.10, 19:00
  2. implode() [function.implode]: Bad arguments
    Von Papenburger im Forum PHP
    Antworten: 0
    Letzter Beitrag: 15.05.07, 12:04
  3. Gibs auch LaTeX-er hier?
    Von LukeS im Forum Typografie
    Antworten: 3
    Letzter Beitrag: 02.01.07, 08:43
  4. Drop Down Menü Tutorial`? Gibs hier sowas ?
    Von Al3x0r im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 09.11.05, 06:35
  5. Array explode gibs das in C++ ?
    Von Sneaker im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 21.10.02, 18:28