pogrubiłem linię, z którą mam problem
#include
#include
void dump(int *a,int w,int h)
{
int i,g;
for (i=0;i printf("%4d",a[g+w*i]); //g-nasza kolumna od zera do szerokosci
printf("\n");
}
}
main()
{
int k[6][6];
/*wypelnia tablice*/
int x,y,z,zz;
z=0;
for (x=0;x[ Dodano: 17 Listopada 2007, 13:15 ]
line 10, message: implicit declaraction of function 'int printf(...)'
program: Dev-C++ 4
działa w C, nie działa w C++
- Undre
- Użytkownik
- Posty: 1430
- Rejestracja: 15 lis 2004, o 02:05
- Płeć: Mężczyzna
- Lokalizacja: UĆ
- Podziękował: 3 razy
- Pomógł: 92 razy
działa w C, nie działa w C++
nie działa, ponieważ printf jest zadeklarowany w stdio, a nie w iostream
w C++ do obsługi wejścia / wyjścia stosuje się raczej przeznaczone do tego funkcje cin ( od input ) oraz cout ( od output ). Możesz na upartego podpiąć bibliotekę cstdio, wtedy można skorzystać z funkcji C, czy jednak ma to sens ? Mniemam, że gdyby printf czy scanf były super, nie zastępowano by ich nowymi rozwiązaniami.
w C++ do obsługi wejścia / wyjścia stosuje się raczej przeznaczone do tego funkcje cin ( od input ) oraz cout ( od output ). Możesz na upartego podpiąć bibliotekę cstdio, wtedy można skorzystać z funkcji C, czy jednak ma to sens ? Mniemam, że gdyby printf czy scanf były super, nie zastępowano by ich nowymi rozwiązaniami.
-
- Użytkownik
- Posty: 107
- Rejestracja: 7 lis 2006, o 12:03
- Płeć: Mężczyzna
- Lokalizacja: Gdańsk
- Pomógł: 20 razy
działa w C, nie działa w C++
O tym możnaby i książkę napisać. De facto z cin i cout łatwiej się krozysta, w scanf i pitnrf masz większą kontrolę nad formatowaniem (moim zdaniem), a ponadto te dwie funkcje ze standardowego C są szybsze, co ma znaczenie dla obsługi dużych wejść/wyjść. Choć są także szybsze funkcje do czytania wejściaUndre pisze:Mniemam, że gdyby printf czy scanf były super, nie zastępowano by ich nowymi rozwiązaniami.
-
- Użytkownik
- Posty: 174
- Rejestracja: 13 mar 2006, o 20:44
- Płeć: Mężczyzna
- Lokalizacja: Nowogard
- Podziękował: 33 razy
- Pomógł: 10 razy
działa w C, nie działa w C++
Hmm ale jak się korzysta z jednej biblioteki to lepiej nie korzystać z tej drugiej bo czasami mogą powstać problemy z wydajnością. Albo albo . Samo korzysta w pewien sposób z fprint itp.
-
- Użytkownik
- Posty: 474
- Rejestracja: 22 paź 2007, o 20:55
- Płeć: Mężczyzna
- Lokalizacja: Gliwice
- Podziękował: 416 razy
- Pomógł: 2 razy
działa w C, nie działa w C++
zasadniczo mam na studiach kurs C, więc na razie te problemy mnie nie dotyczą i po prostu zastosuję bibliotekę stdio
dzięki za pomoc, pozdrawiam
dzięki za pomoc, pozdrawiam
- Undre
- Użytkownik
- Posty: 1430
- Rejestracja: 15 lis 2004, o 02:05
- Płeć: Mężczyzna
- Lokalizacja: UĆ
- Podziękował: 3 razy
- Pomógł: 92 razy
działa w C, nie działa w C++
Zdaje sobie z tego sprawę, jednak z drugiej strony rozwój hardware pozwala nam też trochę zaniedbywać kwestie szybkości czy optymalności kodu na rzecz komfortu piszącego. Zresztą podczas kilku semestrów studiów widziałem już wiele - w tym także programy, w których cout/cin nie dawały rady, a zastąpienie ich printf/scanf rozwiązywało problem, widziałem także programy, gdzie dokładnie opaczne działanie mistycznie powodowało sukces w kompilacji. Nie wgłębiałem się jakoś niesamowicie w to wszystko, może gdzieniegdzie były to pewnego rodzaju błędy, gdzieniegdzie może brak znajomości zachowań specyficznych już dla samego kompilatora ... jednego tak na oko się wszak nauczyłem - warto umieć korzystać zarówno z stdio jak i strumieni, bo w razie gdy jedno z nich zawiedzie, zawsze ma się alternatywę.MGT pisze:ponadto te dwie funkcje ze standardowego C są szybsze, co ma znaczenie dla obsługi dużych wejść/wyjść
-
- Użytkownik
- Posty: 107
- Rejestracja: 7 lis 2006, o 12:03
- Płeć: Mężczyzna
- Lokalizacja: Gdańsk
- Pomógł: 20 razy
działa w C, nie działa w C++
Im więcej wiesz, tym lepiej. (choć zwykłem mówić, że im więcej wiesz, tym bardziej zdajesz sobie sprawę z tego, czego nie wiesz )Undre pisze:jednego tak na oko się wszak nauczyłem - warto umieć korzystać zarówno z stdio jak i strumieni, bo w razie gdy jedno z nich zawiedzie, zawsze ma się alternatywę.
Często lepszą alternatywę. Takie przeskakiwanie (między c/c++) może się przydać np. przy alokacji pamięci, gdzie funkcje zaimplmentowane w stdlib.h są mniej bezpieczne od new i delete
Zainteresowanym działaniem I/O polecam poczytać np. o wejściu buforowanym