• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

MS Visual Studio nie odnajduje pliku <stdio.h>

Object Storage Arubacloud
0 głosów
2,406 wizyt
pytanie zadane 25 lipca 2018 w C i C++ przez Dominik94 Nowicjusz (120 p.)

Cześć. Mam pewien problem z aplikacją MS Visual Studio lecz na wstępie zaznaczę że dopiero zaczynam z programowaniem, wiele rzeczy nie wiem i być może zadaje głupie pytanie. 

Wybrałem język C oraz wspomniane IDE i próbuje napisać proste Hello World jak poniżej:

#include <stdio.h>

int main(void)
{
	printf("Hello World!");

	getchar();

	return 0;
}

Problem polega na tym, że po dokonaniu kompilacji wyskakuje błąd o takiej treści:

Błąd    C1010    Nieoczekiwany koniec pliku podczas wyszukiwania prekompilowanego pliku nagłówkowego. Czy zapomniano dodać „#include "stdafx.h"” do źródła?

 

O co tutaj chodzi? Jak rozumiem stdio.h jest biblioteką funkcji, jedną z podstawowych jakie wykorzystuje język C. Dlaczego w takim razie tutaj jej nie ma. 
 

 

1 odpowiedź

+2 głosów
odpowiedź 25 lipca 2018 przez Eryk Andrzejewski Mędrzec (164,260 p.)

Cześć,

bardzo miło że umieściłeś kod w bloczku, podałeś kod błędu - sporo osób tego nie robi. smiley

Zadam Ci teraz proste pytanie. Czy przeczytałeś ze zrozumieniem błąd kompilatora? Ja nie widzę tam absolutnie żadnej informacji o tym, że nie ma gdzieś stdio.h. Kompilator pyta, czy nie zapomniałeś przypadkiem dołączyć innej biblioteki - stdafx.h. Nie korzystam z VS, ale wydaje mi się że wymaga on dołączenia tego pliku (zawiera on prekompilowane nagłówki). Tutaj znajdziesz więcej informacji na ten temat. Miłej lektury życzę. wink

P.S. Gdybyś nie orientował się jeszcze do końca, jak należy dołączyć ten plik nagłówkowy stdafx.h

#include <stdio.h>
#include "stdafx.h"

Istnieje pewna różnica pomiędzy zapisem wewnątrz znaków <> oraz "", ale na razie nie musisz sobie tym zaprzątać głowy (bo wnioskuję, że dopiero zaczynasz).
 

komentarz 25 lipca 2018 przez criss Mędrzec (172,590 p.)

stdafx.h jest od "prekompilowanych nagłówków" czy "precompiled headers" po ang. Wystarczy poszukać w opcjach projektu i to wyłączyć, co polecam zrobić.

PS: @Eryk, nie chwalmy ludzi za nie bycie idiotami, serio :P Zamieszczenie takich informacji powinno być oczywiste.

komentarz 25 lipca 2018 przez Dominik94 Nowicjusz (120 p.)

Mam książkę "Język C Szkoła Programowania" Stephena Praty. Na początku 2 rozdziału jest prosty przykład gdzie jest napisany taki sam program jak ja podałem powyżej (tylko treść w funkcji printf zmieniłem na Hello World). Autor używa tam tylko biblioteki stdio.h i twierdzi że program ma działać.

 

Ale przed chwilą przeczytałem ten krótki wątek i nagle mnie coś olśniło by utworzyć Pusty projekt, bo dotychczas klikałem "Aplikacja konsolowa systemu Windows".

Ośmieszyłem się chyba ale trudno :) Długa droga przede mną.

Dzięki.

 

1
komentarz 25 lipca 2018 przez criss Mędrzec (172,590 p.)
To bardziej błąd Visual Studio niż twój XD Raczej nie można nazwać błędem wybrania opcji "aplikacja konsolowa Windows" chcąc dostać aplikacje konsolową na Windowsa. Niestety Microsoft lekko wymusza używanie swojego wynalazku precompiled headers (przy projektach >100k linii zaczyna może mieć znaczenie, ale i tak bym się nie zachwycał) i tworzą się problemy.
komentarz 26 lipca 2018 przez Eryk Andrzejewski Mędrzec (164,260 p.)

MS zawsze wszystko robi po swojemu, więc ja bym się nie przejmował. Wcale też się nie ośmieszyłeś, gdyby nie pytania na forum to sam bym nie wiedział o takim wynalazku (ja korzystam z GCC).

@Criss, może i pewne rzeczy powinny być oczywiste, ale niestety nie zawsze dla wszystkich takie są. Miło, kiedy widzi się pytanie nowego użytkownika, które jest eleganckie, ładnie i kulturalnie zadane... laugh

Podobne pytania

0 głosów
0 odpowiedzi 147 wizyt
pytanie zadane 1 kwietnia 2020 w C# przez tonn204 Mądrala (7,440 p.)
0 głosów
1 odpowiedź 1,016 wizyt
pytanie zadane 16 listopada 2020 w C i C++ przez rain.deer Początkujący (430 p.)
0 głosów
0 odpowiedzi 174 wizyt
pytanie zadane 27 czerwca 2019 w C i C++ przez MegaaSoft Obywatel (1,430 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...