Diskuze: stdin (už mne nic nenapadá)

C++ C a C++ stdin (už mne nic nenapadá)

Avatar
zirafaami
Člen
Avatar
zirafaami:

Dobrý den,
nevěděl by někdo jak udělaat kód (se stejnou funkčností a účelem) tak aby jel pře stdin. Už mne vážně nic nenapadá. :(

(nejraději bych byl za hotový kód s kterým by šlo udělat Ctrl+C a Ctrl+)

/*******/
/* načtení tabulky ze souboru, my to ale chceme ze stdin, takže tuhle část musím nahradit něčím sofistikovaným */
/*******/

FILE * pFile;
long lSize;
size_t result;

pFile = fopen ( argv[argc-1], "rb" );
if (pFile==NULL) {fputs ("File error",stderr); exit (1);}

// obtain file size:
fseek (pFile , 0 , SEEK_END);
lSize = ftell (pFile);
rewind (pFile);

// allocate memory to contain the whole file:
buffer = (char*) malloc (sizeof(char)*lSi­ze);
if (buffer == NULL) {fputs ("Memory error",stderr); exit (2);}

// copy the file into the buffer:
result = fread (buffer,1,lSi­ze,pFile);
if (result != lSize) {fputs ("Reading error",stderr); exit (3);}

/* the whole file is now loaded in the memory buffer. */

// terminate
fclose (pFile);

/********/

 
Odpovědět 8.11.2014 18:37
Avatar
zirafaami
Člen
Avatar
zirafaami:

Ideál bude když se to bude načítat nejlépe standartní vstup na který přesměruju tabulku do pole buffer

 
Nahoru Odpovědět 8.11.2014 19:10
Avatar
Eldan
Člen
Avatar
Eldan:

Prostě načti vstup od uživatele do stringu (nebo ještě lépe do char*) ;)

Nahoru Odpovědět 8.11.2014 21:28
Unobfuscated executable == free source code
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na zirafaami
David Čápka:

Ten kód opravdu jen načítá text ze souboru, prostě ho načti pomocí scanf ne?

"Nejraději bych byl za hotový kód s kterým by šlo udělat Ctrl+C a Ctrl+" - Nemyslím si, že ti ho někdo po tomhle pošle :)

Nahoru Odpovědět 8.11.2014 21:32
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Odpovídá na zirafaami
Lukáš Hruda (Luckin):

Jelikoz se to nacita jako binarni soubor a my nemame paru co v tom souboru ma byt, tak ti tezko nekdo poradi.

 
Nahoru Odpovědět 9.11.2014 11:09
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.