in File schreiben und lesen



  • Hallo ich habe folgendes Problem mit den Programm, ich kann das Switch Case C einfach nicht öffnen. Könnt ihr bitte drüber schauen und mir den Fehler sagen. Danke im Voraus!

    Das Programm soll Einen Pfad abfragen (Case A), soll dieses ausgeben(Case B)wenn leer soll ausgegeben werden File nicht vorhanden, man soll dazu schreiben können (Case C) und die anderen Switch Case sind beenden usw.

    Hier mein gesamtes Programm:

    #define _CRT_SECURE_NO_WARNINGS
    #include <string.h>
    #include <stdio.h>
    #include <time.h>
    #include <conio.h>
    #include <iostream>
    #include <fstream>
    #include <string>

    using namespace std;

    void Trennlinie() {
    cout << "\n------------------------------------------------------------------------------------------------\n" << endl;
    return;
    }

    int main(int argc, char** argv) {

    fstream LogFile;
    char ende = 'X';
    
    char pfad[256] = "C:\\Users\\matthias\\Desktop\\workspace\\LogFile2\\LogFile2\\neu.txt";
    char Auswahl = 'X';
    char* ctime(const time_t * time);
    char zeile = 0;
    string zeichen;
    
    
    do {
    	time_t now;
    	now = time(0);
    	printf("LogNr:1 %s\n", ctime(&now));
    	cout << "\t\t\t\t\tMenu:\n"
    
    		"\t a)Log-File auswaehlen\n"
    		"\t b)Log-File ansehen\n"
    		"\t c)Log dazuschreiben\n"
    		"\t d)Log aendern/loeschen\n"
    		"\t e)Programmende\n" << endl;
    	cin >> Auswahl;
    
    	switch (Auswahl)
    	{
    	case 'a':
    	case 'A':
    
    		cout << "Ihren gewuenschten Pfad bitte:\n" << endl;
    		cin >> ("%254[^\n]", pfad);
    		Trennlinie();
    		break;
    	case 'b':
    	case 'B':
    
    		LogFile.open(pfad, ios::in);
    		if (LogFile.eof() == NULL)
    		{
    			cout << "File nicht vorhanden" << endl;
    		}else
    			{
    				while (!LogFile.eof())
    				{
    					getline(LogFile, zeichen);
    					cout << zeichen << endl;
    				}	
    			}
    
    			LogFile.close();
    						
    
    		Trennlinie();
    		break;
    	case 'c':
    	case 'C':
    		cout << "Schreiben Sie beliebig in das File" << endl;
    		LogFile.open(pfad, ios::in);
    		if (LogFile.eof() == NULL)
    		{
    			LogFile.close();
    			LogFile.open("Ersatzd.txt", ios::out | ios::app);
    			LogFile << zeile << endl;
    			
    		}
    		else
    		{
    			LogFile.close();
    			LogFile.open(pfad, ios::out | ios::app);
    			LogFile << zeile << endl;
    			
    		}
    		
    		LogFile.close();
    		break;
    	case 'd':
    	case 'D':
    		Trennlinie();
    		break;
    	case 'e':
    	case 'E':
    		system("Pause");
    		return 0;
    		break;
    	default:
    		cout << "Nicht vorhandener Operator" << endl;
    		Trennlinie();
    		break;
    	}
    } while (ende != 'e');
    
    return 0;
    

    }



  • This post is deleted!


  • @username-987hgf

    cin >> ("%254[^\n]", pfad);

    Was soll das denn sein?



  • @username-987hgf

    ich kann das Switch Case C einfach nicht öffnen

    Erklär mal, was du damit meinst.

    Mit VCL hat deine Frage sicher nichts zu tun.



  • @username-987hgf sagte in in File schreiben und lesen:

    char zeile = 0;
    string zeichen;

    klingt sehr nach Troll


Log in to reply