2016-03-26 6 views
-3

Ich habe gerade begonnen, Datei-I/O in C-Programmierung zu lernen. Ich habe jedoch versucht, ein eigenes Projekt zu erstellen, mit dem eine erstellte Datei gelesen werden kann. Nun, da ich meinen Code unten geschrieben habe, könntest du bitte den Fehler finden und mir sagen, was falsch ist. Der Compiler zeigt keinen Fehler an, aber er wird auch nicht ausgeführt, der Compiler blinkt nur und wird dann beendet.Ruft Befehlsfehler und gets_s Befehl Fehler

Ich bin mit Visual Studio 2015 für meinen Code:

#include <stdio.h> 

int main(void) 
{ 
FILE *fPointer; 
fPointer=fopen("Database.txt","r"); 
char text[150]; 

while(!feof(fPointer)) 
{ 
    fgets(text,150,fPointer); 
    puts(text); 
} 
fclose(fPointer); 
return 0; 
} 
+0

Bitte nicht auf das Thema achten. Ich habe das aussortiert, aber vergessen, es rückgängig zu machen. – helpThisProgrammer

+2

'aber vergessen, es rückgängig zu machen' Nun, es gibt diesen Link" Bearbeiten "direkt unter dem Post. Ich frage mich, wofür es möglicherweise gut sein könnte. –

Antwort

0

Ich vermute, Sie ein Konsolenprojekt in Visual Studio haben, und Sie laufen durch die Debug-Taste (grünes Dreieck) Schlagen oder F5. Ein schwarzes Konsolenfenster blinkt kurz auf dem Bildschirm und verschwindet dann.

Das ist normal. :-)

Sie führen Ihren Code aus, und es wird beendet, und das Konsolenfenster, in dem es ausgeführt wird, verschwindet, wenn es beendet wird.

Um dieses "Feature" von Visual Studio zu umgehen, setzen Sie einen Haltepunkt auf die endgültige return Anweisung in main() (setzen Sie den Cursor auf diese Zeile und drücken Sie F9). Dann wird das Programm an dieser Zeile anhalten, das Konsolenfenster wird weiterhin sichtbar sein, und Sie werden Ihre Ausgabe sehen können.

(Alternativ, führen Sie es nicht aus Visual Studio, aber öffnen Sie eine Eingabeaufforderung und führen Sie es von dort aus. Aber ich rate davon ab, weil es im Debugger so viel nützlicher ist.)

+0

Wow, deine Methode funktioniert. – helpThisProgrammer

+0

Plus Ich verwendete System ("Pause") Syntax nach dem Lesen Ihrer Antwort. Im Grunde war das Problem, dass es nicht aufhörte und wenn es die Rückkehr erreicht, es beendet. Dank bro! – helpThisProgrammer

+0

@KeshavMathur: Gerne helfen und willkommen bei Stack Overflow! (Wenn Sie eine Frage oder eine Antwort nützlich finden, ist es höflich, auf die Schaltfläche "Upvote" links davon zu klicken - das ist das nach oben weisende Dreieck. Wenn Sie eine Frage stellen und Antworten erhalten, sollten Sie auch auf das Häkchen neben dem Besten klicken antwort.) – RichieHindle