» Poradna » Hardware

C++

 |   | 

//mam program v c++.Potrebuji nacist obrazek s libovolnym nazvem.
//ted to mam delane tak ze ve zdrojaku se musi zadat na pevno jmeno souboru
//prosim jak napsat funkci abz mohl uzivatel zadat sam nazev souboru??DEKUJI

Odpovědi na otázku

 |   | 

neznám C++, ale snad tam je nějaký Reader z konzole nebo ne?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

int main(int argc, char **argv)
{
/*
argc je pocet argumentu z prikazove radky (1. je jmeno spusteneho souboru, pak nasleduji parametry)
argv je pole ukazatelu na retezce, posledni ukazatel je NULL
*/

// ...
}

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

to moc nechapu prosim te mohl by jste mi to rozepsat vic?prosim

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

tohle je jednoduchy zpusob zadani z prikazoveho radku pri spousteni programu... C/C++

#include

char *nazev_souboru;

int main(int argc, char **argv)
{
if (argc < 2) // bez parametru
nazev_souboru = "defaultni_soubor";
else if (argc == 2) // jeden parametr
nazev_souboru = argv[1];
else { // vic nez jeden parametr
printf("Usage: program [filename]\n");
return 1;
}

// ...

return 0;
}

--------------------

nebo kdybys to chtel zadavat uvnitr programu... predpokladem je klasicky program bezici v terminalu, zadny okynka... opet pro C i C++:

#include

char nazev_souboru[256];

int main(void)
{
printf("Zadej nazev souboru: ");
gets(nazev_souboru); // pozor! nepritel by moh zadat prilis dlouhy retezec -> zapis mimo vyhrazenou pamet

// ...

return 0;
}

-----------

O neco chytrejsi varianta:

#include
#include

char nazev_souboru[256];

void read_string(char *s; int max) // kam chceme retezec ulozit; maximalni delka
{
/* slozitejsi, nez by bylo treba...
vetsina kodu osetruje nehezky pripad, kdyz nepritel zada hodne dlouhy retezec...
retezec ukladame do pevne velkeho pole, tak at se tam vejde */
int i;
char dummy[256];
fgets(nazev_souboru, max, stdin);
i = strlen(nazev_souboru) - 1;
if (nazev_souboru[i] == '\n')
nazev_soubory[i] = 0;
else
do
{
fgets(dummy, 256, stdin);
} while (dummy[strlen(dummy) - 1] != '\n');
}

int main(void)
{
printf("Zadej nazev souboru: ");
read_string(nazev_souboru, 256);

// ...

return 0;
}


PS: ani jsem to po sobe necet, mozna tam jsou chyby

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

jako treba pozrani includu v tomhle foru vsude je stdin.h, dole navic string.h

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

pardon, stdin = stdio

Souhlasím  |  Nesouhlasím  |  Odpovědět




Určitě si přečtěte

Google ADT-2: Miniaturní krabička s Android TV 8.0, kterou si nikdy nekoupíte

Google ADT-2: Miniaturní krabička s Android TV 8.0, kterou si nikdy nekoupíte

** Dlouho se nevědělo, co to přesně má být ** Pak se s krabičkou Google pochlubil na I/O ** Do „Chromecastu“ vtěsnal celý Android TV

Jakub Čížek | 22

15 věcí, které umí Windows 10, ale možná o nich vůbec nevíte

15 věcí, které umí Windows 10, ale možná o nich vůbec nevíte

** Systém Windows 10 umí spoustu užitečných drobností ** O mnoha praktických funkcích pravděpodobně ani nevíte ** Poznejte užitečné tipy, které se vám mohou hodit každý den

Vladislav Kluska | 30

Nechcete platit za Total Commander? Těmito bezplatnými programy ho můžete nahradit

Nechcete platit za Total Commander? Těmito bezplatnými programy ho můžete nahradit

** Total Commander je na Windows takřka legendou ** Licence však stojí více než tisíc korun ** Našli jsme pro vás deset alternativ dostupných zdarma

Karel Kilián | 113

Alan Turing: Genius, který matematicky stvořil počítač

Alan Turing: Genius, který matematicky stvořil počítač

Řešením matematického problému se dostal k modelu teoretického stroje, který nese jeho jméno a je základem logiky univerzálních počítačů.

Pavel Tronner | 56

Šéf amerického Red Hatu: Odpojte Brno od internetu a zhroutíme se

Šéf amerického Red Hatu: Odpojte Brno od internetu a zhroutíme se

** V Česku najdete hromadu skvělých vývojářů ** Mnozí z nich přispívají do open-source ** Třeba v brněnském Red Hatu

Jakub Čížek | 51

Našli jsme 22 schopných internetových prohlížečů: Vyberte si, který vám nejvíc sedne

Našli jsme 22 schopných internetových prohlížečů: Vyberte si, který vám nejvíc sedne

** Není jen Chrome, Firefox, Edge či Opera. Na výběr máte mnohem více! ** Internetové prohlížeče se liší funkcemi, zaměřením i designem. Našli jsme 22 použitelných prohlížečů pro Windows ** Vyberte si prohlížeč, který vám bude nejvíce vyhovovat

Karel Kilián | 30


Aktuální číslo časopisu Computer

Kdy necháme řídit chytrá auta?

6 Wi-Fi Mesh systémů ve velkém testu

Srovnali jsme 7 sportovních kamer

Znáte pravidla pro létání s drony?