Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallöchen Leute...

Ich hab mal wieder ein Problem und hoffe das ihr mir ein wenig weiter helfen könnt... Also ich soll ein Programm schreiben das eine vorhandene Datei öffnet und diese dann in einer anderen Datei die man in dem Programm erzeugt abspeichert... Das ganze soll Zeilenweise passieren. Diesen Teil des Programms hab ich auch bestens hin bekommen. Was mir absolute probleme macht ist das die Kommentare beim auslesen der vorhanden Datei gelöscht werden sollen und dann die Datei Speichern der neuen Datei... Das schwierige für mich is halt auch das er jede art von kommentaren finden soll... welche die mit // beginnen und somit nur eine Zeile lang sind, aber auch /*kommentar*/ diese art die sich über mehrere Zeilen ziehen kann...

ich schreib euch ma den quellcode und evt kann mir ja jemand weiter helfen... Bin für jede hilfe dankbar...

/*******************************************************

* Created from :  Sabrina Werner

* Created at   :  23.01.2008

* Updated at   :  24.01.2008

*

* Description  : Kapitel 1, Aufgabe von Stephan

*                

*Schreiben Sie ein Programm, das C- Programmen kopiert und unter 

*einem anderen namen speichert. Es soll im anschluss die kommentare entfernen.

* ********************************************************/


#include <stdio.h>


int main (void)

{

    /*

    Deklaration  FILE-Zeiger

    */

    FILE *fQuelle;

    FILE *fZiel;


    /*

    Deklaration der Variablen

    */

    int iZaehler;

    char sZeile[80];

    char sAusgabe[80];

    int iPos;

    int iAusgabenZaehler;


    /*

    Zuordnung der Werte

    */

    iZaehler = 0;

    iPos = 0;

    iAusgabenZaehler = 0;




    /*

    öffnen der Datei

    */

    fQuelle = fopen("C:\\Kernig~1\\Lookup\\test.c", "r");

    fZiel = fopen("C:\\Kernig~1\\Lookup\\Ziel.c", "w");



    /*

    Überprüfung ob die Datei geöffnet werden kann

    */

    if (fQuelle == NULL)

    {

        printf("Fehler beim Oeffnen der Datei C:\\Kernig~1\\Lookup\\test.c\n");

    }

    else 

    {

        printf("Datei erfolgreich geoeffnet.\n");

    }



    /*

    Überprüfung ob die neue Datei erstellt werden konnte

    */

    if (fZiel == NULL)

    {

        printf ("Fehler beim Oeffnen der Datei C:\\Kernig~1\\Lookup\\Ziel.c\n");

    }

    else

    {

        printf ("Datei erfolgreich geoeffnet\n");

    }    



    /*

    Durchlaufen der Schleife bis die Datei zu ende ist. Übergabe der Daten aus 

    fQuelle nach fZeile...

    */

    while(fgets(sZeile, 80, fQuelle) != NULL)

    {


        /*

        Finden der Kommentare

        */

        while (sZeile[iZaehler] != '\n')

        {

            if (sZeile[iZaehler] == '/' || sZeile[iZaehler] == '*')    

            {

                ++iZaehler;

                if (sZeile[iZaehler] == '*' || sZeile[iZaehler] == '/')

                {

                    iPos = iZaehler -1;

                }

            }


            /*

            Weg lassen de Kommentare

            */

            if (sZeile[iZaehler] != '/' || sZeile[iZaehler] != '*')

            { 

                sAusgabe[iAusgabenZaehler] = sZeile[iZaehler];

                ++iAusgabenZaehler;

                ++iZaehler;

            }    

        }

        /*

        Ausgabe der Zeichenkette in der gewünschten Datei

        */     

        fputs (sZeile, fZiel);



        iZaehler = 0;

    }



    /*

    Schließung der Dateien

    */

    fclose(fQuelle);

    fclose (fZiel);



    return 0;


}

Geschrieben

das problem daran is nur das ich nur die funktionen nehmen darf die ich schon kenne... bin im ersten kapitel von Programmieren in C... also arg viele kenn ich noch nicht... Soll das mit while und if usw machen...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...