» 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

Roboruka se 100 let učila otočit kostičku. Skutečné A.I. se možná nikdy nedočkáme

Roboruka se 100 let učila otočit kostičku. Skutečné A.I. se možná nikdy nedočkáme

** Strojové učení v posledních deseti letech dokázalo divy ** Používáme ho dnes každý den nejen ve vyhledávači ** A přesto se člověku nepřibližuje ani náznakem

Jakub Čížek | 59

Porno insider: Jak Greg Lansky mění internet pro dospělé

Porno insider: Jak Greg Lansky mění internet pro dospělé

** Erotický obsah generoval ohromné peníze, pak ale přišel internet... ** Pornografie dostupná všude a zdarma uvedla tvůrce do krize ** Někteří ale dokázali potenciál internetu využít i v tomto oboru

Jan Dudek | 11

V doupěti hackerů na brněnské FIT: Ukázali nám útoky na Bluetooth i vlastní chytré krabičky

V doupěti hackerů na brněnské FIT: Ukázali nám útoky na Bluetooth i vlastní chytré krabičky

** Internet je plný malwaru, to už dnes ví každý ** Víte ale, že lze útočit třeba i na Bluetooth? ** Navštívil jsem hackery z brněnského FITu

Jakub Čížek | 1

Pojďme programovat elektroniku: Blikající potvory i legendární displeje starých Nokií

Pojďme programovat elektroniku: Blikající potvory i legendární displeje starých Nokií

** Skoro každý kutil si koupí maličký levný OLED ** A také segmentový a znakový displej ** Pojďme se na některé z nich podívat

Jakub Čížek | 9

PortraitPro: Vyzkoušeli jsme program, který prý udělá z každé „žáby“ krasavici

PortraitPro: Vyzkoušeli jsme program, který prý udělá z každé „žáby“ krasavici

** V digitálním světě nemůžete věřit všemu ** Nová generace 3D fotoeditorů zvládne divy ** Vyzkoušeli jsme PortraitPro, který vám změní i kontaktní čočky

Jakub Čížek | 10


Aktuální číslo časopisu Computer

Megatest: 13 grafických karet

Srovnání 7 dokovacích stanic s USB-C

Jak na perfektní noční fotografie

Kvalitní zdroje informací pro sebevzdělávání