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



Członek DUG




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


Członek DUG
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



Członek DUG




Dzięki o to biegało ;D nie jest to idealne ale trudno ;p
Offline




Moderator Mamut
giegiel napisał(-a):
nie jest to idealne ale trudno ;p
a co jest nie tak ... bo napewno da sie zrobic aby bylo lepiej ...
Offline



Członek DUG




dobra ;D tak może być :D poradziłem sobie ;D
Dzięki wielkie ;D
Offline



Członek DUG




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




Moderator Mamut
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



Członek DUG




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




Moderator Mamut
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