Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Jak zrobić żeby wpisać nazwę programu a obok argument który ma być wykorzystany w programie?? Np. Wklepujemy
program 1
i program o nazwie program pobiera podany argument (w tym wypadku 1) i wykorzystuje go w programie np.wyświetlając go. Help ;D
Ostatnio edytowany przez giegiel (2007-12-29 23:01:16)
Offline
Funkcję main musisz zapisać w taki sposób:
int main(int argc, char *argv[]) { }
Argument argc zawiera informację ile parametrów zostało odebranych od systemu. Jest to zawsze przynajmniej liczba 1 bo pierwszym argumentem jest nazwa wywoływanego programu.
Drugi argument to tablica wskaźników na parametry zapisane w postaci C-Stringów. C-String to tablica obiektów char zawierająca parametr.
Przykładowy program:
#include <iostream> using namespace std; int main(int argc, char *argv[]) { if (argc == 1) { cout << "Program wywołano z " << argc << " argumentem. Oto on " << endl << argv[0] << endl; } else { cout << "Program wywołano z " << argc << " argumentami. Oto one " << endl; for (int x = 0; x<argc; x++) cout << argv[x] << endl; } }
Offline
Dzięki o to biegało ;D nie jest to idealne ale trudno ;p
Offline
giegiel napisał(-a):
nie jest to idealne ale trudno ;p
a co jest nie tak ... bo napewno da sie zrobic aby bylo lepiej ...
Offline
dobra ;D tak może być :D poradziłem sobie ;D
Dzięki wielkie ;D
Offline
Ok z tamtym to już czaje ;D jednak proste w miarę ;D hehe a teraz mam pytanie czy da się zmienić kolor tekstu w c++?? Bo szukałem i doczytałem że się da ale nie działa ;/ I drugie takie bardziej poważne to dalej wczytywanie danych ale tym razem z pliku. Załóżmy że mam plik którego zawartość wygląda następująco:
1 8 1000 24 26 20 36 25 10 15555 2458 3586
Takk... I teraz chciałbym pobrać daną z pierwszej kolumny do załóżmy zmiennej a drugą do b trzecią do c i wyświetlić po czym przejść do następnego wiersza ;D kombinowałem szukałem ale znalazłem tylko coś co ściąga linie ;D pozdrawiam
Offline
ad1. aby uzyskac kolor na terminalu musisz wypisac pewna specjalna sekwencje znakow ... w bashu
echo -e '\033[1;31mNA_CZERWONO\033[0m'
spowoduje wypisanie tekstu na czerwono ... jezeli w wypisywanym napisie w C dodasz na poczatku \\033[1;31m i na koncu \\033[0m to tez uzyskasz taki efekt ... jedyna kwestia jaka byc moze trzeba dobrac jest zabezpieczenie antyukosnikow i wartosci ustawiajace kolor ...
ad2. nastepnie z napisu takiego wyciagasz sobie kolejne pola poprzez szukanie spacji/tabulatorow ...
Ostatnio edytowany przez bercik (2007-12-30 00:19:13)
Offline
W bashu to może działa ale w c++ nie. A co do odp na 2gie pyt to czy mógłbym prosić o przykład?? Bo to co powiedziałeś jest dość oczywiste ale pytanie jak :D np taki przykład jak mi owca ostatnio dał ;D pozdrawiam
Offline
Ad. 1 - u mnie dziala ... terminal musi obslugiwac kolorowanie ...
#include <iostream> using namespace std; main() { cout << "\033[1;31mNA_CZERWONO\033[0m\n"; }
Ad. 2 mowisz i masz ;-) ... pisane na szybko byc moze cos trzeba dopracowac ...
#include <iostream> using namespace std; main() { string linijka = "12 14 25 "; int tmp=-1, old_tmp, x; for (int i=0; i<3; i++) { // ustalamy granice pola old_tmp = tmp + 1; tmp = linijka.find(" ", old_tmp); // konwertujemy pole na liczbe x = atoi(linijka.substr(old_tmp, tmp).c_str()); // wypisujemy cout << "Pole numer: " << i << " ma wartosc: " << x << endl; } }
... moznaby to robic tez przez tzw formatowane wejscie ... ale ten sposob jest chyba bardziej elastyczny i dydaktyczny
Ostatnio edytowany przez bercik (2007-12-30 02:59:45)
Offline
Strony: 1