i dostaje error od windy.Kod:#include<stdio.h> main(int argc, int argv[]) { long tablica[999]; tablica[1]=argv[1]; tablica[2]=argv[2]; printf("%d",tablica[1]+tablica[2]); }
Nie rozumiem, printf("%d",7+4) działa, a 2 integerów nie idzie dodać
i dostaje error od windy.Kod:#include<stdio.h> main(int argc, int argv[]) { long tablica[999]; tablica[1]=argv[1]; tablica[2]=argv[2]; printf("%d",tablica[1]+tablica[2]); }
Nie rozumiem, printf("%d",7+4) działa, a 2 integerów nie idzie dodać
Ostatnio edytowane przez 31337 : 04-20-2007 - 19:13
dobra niewcinam się juz
Ostatnio edytowane przez ble34 : 04-20-2007 - 19:20
z tym %s pomyliłem się, ale dalej nie działa. Wszystko jest integerem, a printfuje mi zawsze 8023743. Grrrrr.
masz przyklad wyswietlania wszystkich argumentow i laczenia ich w jeden lancuch
i jak mozesz argumenty przypisywac elementy lancuchowe? przeciez argumenty to stringi...Kod:#include <cstdlib> #include <iostream> #include <string> using namespace std; int main(int argc, char *argv[]) { string dane; cout<<"Ilosc argumentow: "<<argc<<endl; for (int i=0; i<argc;i++) { cout<<"Argument: "<<i<<" - "<<argv[i]<<endl; dane+=argv[i]; } cout<<"Laczny lancuch argumentow: "<<dane<<endl; system("PAUSE"); return EXIT_SUCCESS; }
"W życiu wszystko ma jakiś sens, tylko trzeba go odnaleźć. No i często ma on odmienne znaczenie dla różnych osób."
Wybaczcie te głupie pytania, ale do tej pory pisałem głównie w php.
C++ to dla mnie istny chaos
O ile z programem zawierającym same funkcje/deklaracje zmiennych sobie dobrze poradze, to już takie coś ' string dane;' nie trzyma się kupy i przestaje zorumieć oco chodzi
wiec powiedz z czym masz dokladnie problem?
"W życiu wszystko ma jakiś sens, tylko trzeba go odnaleźć. No i często ma on odmienne znaczenie dla różnych osób."
to własnie może być wina wskaznikaKod php:
a printfuje mi zawsze 8023743. Grrrrr.
doadaj znaczek&
Ostatnio edytowane przez ble34 : 04-21-2007 - 14:02
przy jakim zapisie? ten kod co podalem dziala w 100%, kompilowalem i sprawdzalem
"W życiu wszystko ma jakiś sens, tylko trzeba go odnaleźć. No i często ma on odmienne znaczenie dla różnych osób."
zaincludowałeś 3 liby, a ja zrobie TO SAMO z 1przy jakim zapisie? ten kod co podalem dziala w 100%, kompilowalem i sprawdzalem
Dlatego nabieram wątpliwości czy dalej uczyć się c - po co marnować czas, jak kiedyś natrafie na opis lepszych bibliotek które robią to samo 100x lepiej :/Kod:#include<stdio.h> main(int argc, char *argv[]){for(long x=1;x<argc;x++){printf("Argument %i: %s\n",x,argv[x]);}}
Pytałem się jak matematycznie dodac do siebie argumenty, nie połączyć w string...
Rozumiem chcesz dodać do siebie argv[1] i argv[2] czyli mniemam oba te argumenty są liczbami? Polecam zapoznać się z funkcją atoi (), w takim założeniu:
Będzie good.Kod html:printf ("argv[1]+argv[2]=%d\n", atoi(argv[1])+atoi(argv[2]));
Chyba, że chodzi Ci połączenie 2 ciągów znaków ze sobą, to można by zrobić to tak:
Ewentualnie można skorzystać z funkcji strncat();Kod html:char buf[MAX] ... snprintf (buf, MAX-1, "%s%s", *(argv+1), *(argv+2));
Cheers.