Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 8 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
c++ argumety

Registrovaný: 31.08.06
Prihlásený: 24.09.12
Príspevky: 68
Témy: 7
Bydlisko: Košice
Príspevok NapísalOffline : 27.01.2011 16:26

Zdravím, mám niečo takéto:

Kód:
void spustklienta(char *ip, char *fpath);
void spustserver();

void main(int argc, char *argv[])

{if(argc==1)spustserver();
 else spustklient(argv[1],argv[2]);
}
atd....


a chcel by som, aby sa argumenty nezadávali do konzoly, ale pýtali sa užívateľa na začiatku programu, teda niečo na štýl:

Kód:
void spustklienta(char *ip, char *fpath);
void spustserver();

void main(int argc, char *argv[])

{
char volba;
   char IP_adresa;
   char zdroj;
   cout<<"Ak si zelate prijat subor, stlacte 1, ak chcete odoslat  subor, stlacte 2\n";
   cin>>volba;
   if (volba == '1')
      runserver();
   else if (volba == '2'){
       cout<< "Zadajte IP adresu servera vo forme x.x.x.x\n";
       cin>>IP_adresa;
       cout<< "Zadajte cestu ku suboru";
       cin>>zdroj;
       runclient (&IP_adresa, &zdroj);}


Dá sa to nejako?


Offline

Užívateľ
Užívateľ
c++ argumety

Registrovaný: 03.01.11
Prihlásený: 21.02.11
Príspevky: 54
Témy: 1
Príspevok NapísalOffline : 27.01.2011 16:56

da sa to, ved si si to aj napisal. Len tam volas runserver() a runclient() a metody sa ti volaju spustserver a spustklienta tak si to premenuj


Offline

Užívateľ
Užívateľ
c++ argumety

Registrovaný: 31.08.06
Prihlásený: 24.09.12
Príspevky: 68
Témy: 7
Bydlisko: Košice
Príspevok Napísal autor témyOffline : 27.01.2011 17:16

Áno, to som si opravil, skompiluje mi to, ale vypíše takúto chybu:
c++ argumety

Ked dam ako volbu 1, tak to funguje v poriadku. Ked dam volbu 2, zadam IPcku a dam enter, tak vyhodi tuto chybu.


Offline

Užívateľ
Užívateľ
c++ argumety

Registrovaný: 03.01.11
Prihlásený: 21.02.11
Príspevky: 54
Témy: 1
Príspevok NapísalOffline : 27.01.2011 17:30

mas tam tie premenne deklarovane ako char (teda znak). Ak to ma byt retazec, bud to spravis ako pole znakov (teda char IP_adresa[15]) alebo pouzijes string. A tiez neviem preco tam posielas adresy tych parametrov a nie ich hodnoty


Offline

Užívateľ
Užívateľ
c++ argumety

Registrovaný: 31.08.06
Prihlásený: 24.09.12
Príspevky: 68
Témy: 7
Bydlisko: Košice
Príspevok Napísal autor témyOffline : 27.01.2011 17:48

Jasne, uz to funguje, dakujem za pomoc.


Offline

Užívateľ
Užívateľ
c++ argumety

Registrovaný: 31.08.06
Prihlásený: 24.09.12
Príspevky: 68
Témy: 7
Bydlisko: Košice
Príspevok Napísal autor témyOffline : 06.02.2011 8:50

Ešte jedna otázočka, je priamo v kóde:
Kód:
#include<iostream>
#include<string>
#include<fstream>

using namespace std;

int main()
{
    ifstream source;
    string source_fname;
    char * buffer;
    char test[32];
       
   cout<<"Vlozte cestu ku suboru "<<endl;
    cin>>source_fname;
  source.open (source_fname.c_str(), ios::in | ios::binary );

if (source.is_open())
 {
   while ( source.good() )
   {
    buffer = new char [32];
   
    source.read (buffer,32);
 

  //OTÁZKA: Ako dostať 32 znakov, ktoré sú v buffer-i do poľa char test[32]?
 

  delete[] buffer;
   }
   source.close();
 }
 return 0;
}


Ďakujem


Offline

Skúsený užívateľ
Skúsený užívateľ
c++ argumety

Registrovaný: 11.01.09
Prihlásený: 19.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 06.02.2011 9:44

Kód:
strcpy( test, buffer );


Ale pozor. Z tvojho kódu som si všimol, že zo súboru prečítaš 32 znakov a uložíš ich priamo do premennej buffer, ktorá má presne kapacitu pre 32 znakov. Keď ale potom skopíruješ všetko do premennej test a budeš s ňou pracovať, nebudeš mať na konci nulový znak! Takže ak plánuješ potom nejak manipulovať s týmto reťazcom, tak buď zväčši veľkosť poľa test alebo to vyrieš nejak inak a potom tam ešte doplň tú nulu. Ak to ale nepotrebuješ vypisovať apod, tak to ma potom ignoruj.

Funkcia strcpy

// inak to alokovanie pamäte pre buffer máš zbytočne v tej slučke, zbytočne to stále alokuješ a dealokuješ. Kľudne to vyhoď mimo cyklu.


Offline

Užívateľ
Užívateľ
c++ argumety

Registrovaný: 02.11.07
Prihlásený: 18.03.15
Príspevky: 470
Témy: 22
Bydlisko: Zilinska Un...
Príspevok NapísalOffline : 06.02.2011 18:44

Odporucam ti riadne nastudovat ukazovatele a dynamicku pracu s pamatou, lebo nevies pouzivat ukazovatele. A ten nulovy \0 znak tam dopisuj na koniec po skopirovani, ak tam nie je, budu ti standardne funkcie to pole vypisovat mimo jeho platnost, az kym sa nenarazi na prvy nulovy znak v inej pamati. Nie je to chyba, ak si to osetris pri prehladavani, ale skor ta to bude mylit pri vypisovani.







_________________
Notebook: HP EliteBook 8740w
You can see my work in my www
Odpovedať na tému [ Príspevkov: 8 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Mám sa učiť C ++/objective C/ C#?

v Assembler, C, C++, Pascal, Java

5

729

08.07.2014 20:40

XOLOO Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. rozdiel medzi Borland 3.1 C++ vs Net. C++

v Assembler, C, C++, Pascal, Java

4

574

20.07.2010 12:54

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hledá se programátor C/C++ pro vesmírné projekty (Praha)

v Ponuka práce

0

1122

10.05.2016 14:59

evolvsys Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Naučte se C++ za 21 dní + C++Builder 6

v Assembler, C, C++, Pascal, Java

18

2411

21.05.2010 21:08

Wpegb Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. K: PC Literaturu- C++/C#/java/python/ruby/RoR

v Kúpim

0

409

13.05.2014 18:16

expresado Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hladam hracov na C&C Generals Zero Hour

v Počítačové hry

10

1248

07.03.2007 19:22

Spirit Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Čo mi treba na programovanie v C/C++

v Assembler, C, C++, Pascal, Java

17

1145

25.09.2011 18:14

reDo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. aky je rozdiel medzi C++ a Visual C++ ?

v Assembler, C, C++, Pascal, Java

8

1962

19.02.2011 22:46

vendo2 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hladame 3x C/C++ Linux developer- projekt 11/2016-2/2017

v Ponuka práce

1

551

24.10.2016 15:28

michalesku Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Darujem knihy o programovaní (HTML, Java, Visual C++, C++ Builder, Android)

v Vymením a darujem

0

428

01.04.2019 11:20

tomasteicher Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. program na projekt (C#, C++, pascal, java)

v Assembler, C, C++, Pascal, Java

2

831

12.03.2009 12:08

Svjatogor Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C/C++ problém so súbormi a hodnotami

v Assembler, C, C++, Pascal, Java

2

308

09.12.2012 10:43

nBXXL Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C# alebo C++ , ktore knizky na ucenie?

v Assembler, C, C++, Pascal, Java

20

1790

12.02.2011 0:12

The Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C&C Generals : Zero Hour - turnaj

v Počítačové hry

0

774

25.02.2009 20:18

k0t0l Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C# alebo C++ appka/program na výpočty

v Assembler, C, C++, Pascal, Java

1

380

20.03.2015 22:36

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako nastavit grafikuv AMD catalyst c.c.

v ATI/AMD grafické karty

17

1482

26.12.2013 11:38

walther Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  
cron

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra