[C] C mit Visual Studio?

Ozonschicht

Mitglied
Hallo,
Ich verstehe nicht ganz wie ich in Visual Studio eine C Datei schreiben kann, es gibt nur den Berreich C++. Habe gelesen das man eine WIN32-Konsolenanwendung benutzen muss. Leider ist es aber eine Datei mit .cpp am ende, brauche was mit .c endet... Sonst wird <stdio.h> nicht gefunden.
So eine Fehlermeldung kommt wenn ich mit Win32-konsolenanwendung Debuggen möchte
Code:
fatal error C1010: Unerwartetes Dateiende während der Suche nach dem vorkompilierten Header. Haben Sie möglicherweise vergessen, im Quellcode "#include "StdAfx.h"" einzufügen?
So lautet das eigentliche Code: (Bing gerade am lernen und ist vom Buch )
Code:
#include <stdio.h>
main() {
	printf("\nDies ist ein erstes C-Programm. \n");
	printf("\Wie Sie sehen, kann `Prinftf` ");
	printf("nicht nur Texte drucken,\n");
	printf("sondern auch rechnen.\n\n");
	printf("13 * 7 = %i \n",13 * 7);
}

Danke im vorraus.
( Die ersten Seiten und schon das 1. Problem :D )
 
Hi.

Dann füge doch deinem Projekt einfach eine .c Datei hinzu... (man kann auch für jede Datei einzeln einstellen ob der Code als C oder C++ behandelt werden soll)

Übrigens ist dein Code kein gültiges C und kein gültiges C++.

Die main() Funktion muß int zurückgeben! (Hast du das aus einem Buch? Dann wirf es weg, leih dir ein besseres)

Die Fehlermeldung bezog sich auf vorkompilerte Header (das hat nichts mit stdio.h zu tun).

Schalte in deinem Projekt vorkompilierte Header aus oder stelle sicher, dass als erstes #include "stdafx.h" in der Datei steht.

Und hast du mal nach "C1010" gesucht? Es soll auch helfen die Fehlermeldung mal zu lesen...

Gruß
 
Zuletzt bearbeitet:
Hi.

Dann füge doch deinem Projekt einfach eine .c Datei hinzu... (man kann auch für jede Datei einzeln einstellen ob der Code als C oder C++ behandelt werden soll)
Wie den?

Übrigens ist dein Code kein gültiges C und kein gültiges C++.

Die main() Funktion muß int zurückgeben! (Hast du das aus einem Buch? Dann wirf es weg, leih dir ein besseres)
Ich habe das Buch von Amazon gekauft (http://www.amazon.de/C-Programmieren-Anfang-Helmut-Erlenkötter/dp/3499600749), ich denke mal ich mache was falsch, wie muss es den dan richtig heißen? Ich komm nicht ganz klar was ich auswählen soll beim Projekt erstellen ...

EDIT:
So funktioniert es:
Code:
#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])
{
	printf("\nDies ist ein erstes C-Programm. \n");
	printf("\Wie Sie sehen, kann `Prinftf` ");
	printf("nicht nur Texte drucken,\n");
	printf("sondern auch rechnen.\n\n");
	printf("13 * 7 = %i \n",13 * 7);
	return 0;
}
 
Zuletzt bearbeitet:
Hallo Ozonschicht,

am besten achtest du beim Erstellen des Projektes darauf, dass du „Leeres Projekt“ ankreuzt. Dann kannst du deine Quelldateien manuell hinzufügen.

Grüße,
Matthias
 
Wenn ich ein leeres Projekt erstelle habe ich leider kein Textfeld, wie kann ich es erstellen? Damit ich was reinschreiben kann?
Und ich habe das Problem das sich beim Debuggen das geschriebene Code nicht mal eine Sekunde zeigt und sich wieder schließt. Wie kann ich ein Timer einstellen oder das es auch so für immer bleibt?

Das buch ist schon richtig:
http://www2.hs-fulda.de/~klingebiel/c-stdlib/index.htm
<stdio.h> gibt es in der C Bibliothek leider nicht in Visual Studio ? -.-
 
Zuletzt bearbeitet:
"Textfeld"? Meinst du den Bereich, wo du den Code hinschreibst?

Wenn du ein leeres Projekt erstellst, hast du natürlich noch keine c/cpp-Dateien dabei, deshalb ist es ja "leer".
Sobald du ein leeres Projekt hast, rechte Maustaste auf den Verzeichnisbaum, Hinzufügen, Neu...
Je nach Version könnte es anders sein, ich bezieh mich hier auf 2008

Wegen dem Schließen: Das ist normal. Wenn das Programm fertig ist, schließt es sich eben.
Möglichkeiten zu warten gibt es viele, zB auf die stdio.h bezogen die Funktion getchar() am Schluss einfügen.
Dann gehts erst zu, wenn du Enter drückst.

Und stdio.h gibt es ganz sicher in Visual Studio :suspekt: Warum sollte es nicht da sein?
 
Zuletzt bearbeitet:
Wo muss ich #include "stdio.h" einfügen damit es auch unter stdio.h sucht?
Habe mal gegoogelt und irgendwo stand das man in die Datei stdafx.h reinschreiben soll. Hat leider mir nichts gebracht.
 
Zuletzt bearbeitet:
Am besten schaltest du dir vorkompilierten Header erstmal ab, so wie dir schon deepthroat geraten hat.
Dann kannst du das include"stdafx.h" auch weglassen.

Und das stdio.h kommt einfach in deine Quellcodedatei, wo zuerst auch die stdafx.h eingebunden wurde.

Nimm statt "" <>, also
#include<stdio.h>
 
Am besten schaltest du dir vorkompilierten Header erstmal ab, so wie dir schon deepthroat geraten hat.
Dann kannst du das include"stdafx.h" auch weglassen.

Und das stdio.h kommt einfach in deine Quellcodedatei, wo zuerst auch die stdafx.h eingebunden wurde.

Nimm statt "" <>, also
#include<stdio.h>

Also ich gehe immer neues Projekt -> Leeres Projekt -> Header Löschen -> Quelldatei hinzügen - Neues element - Was dann? Ich kann nur C++ und kein C auswählen. Ich will das die endung .C ist und nicht .CPP.

Und kann mir jemand eine Funktion sagen damit es nach dem Ausführen des Programms nicht sofort schließt?
Habe getchar() gefunden, bringt aber nichts -.-

EDIT:
Okey, das mit dem Schließen habe ich hinter mir :D
System("PAUSE") funktioniert doch :)
Rest ist auch bis jetzt geklärt, werde morgen nochmal gucken ob alles klappt wie ich es mir vorstelle :P
Danke das ihr Zeit für mich genommen habt.
 
Zuletzt bearbeitet:
Welche Version verwendest du?

Schritt für Schritt im 2008:
Datei-Neu-Projekt
Visual C++ - Win32
Win32-Konsolenanwendung
Name und Speicherort angeben
OK
Weiter
Den Haken bei "Vorkompilierte Header" rausnehmen, falls einer drin ist
Bei "Leeres Projekt" einen Haken rein, falls noch keiner ist
Im "Projektmappenexplorer" mit der rechten Maustaste auf den Projektnamen klicken, Hinzufügen, Neues Element, "C++-Datei"
Den Dateinamen unten eingeben und hinter den Namen noch ein ".c" dazuschreiben
OK

Das Ganze ist im Visual Studio leider etwas umständlich; muss aber bei jedem Programm ja nur einmal am Anfang gemacht werden.

Eine Frage hätt ich aber: Was macht es für dich für einen Unterschied, ob c oder cpp im Dateinamen steht?
Es gibt schon Situationen wo man mit .c besser dran ist als mit .cpp, aber du beginnst ja erst mit der Sprache.

Fürs erste sollte es bei deinen Programmen keinen Unterschied machen, wie die Datei benannt ist.
 
Zuletzt bearbeitet:
Zurück