Zdravím, potřeboval bych poradit. pokouším se asi 3 hodiny přečíst text z textového souboru do konsole ale neuspěšně.
Podařilo se mně přečíst max. jeden řádek. ale já tam mám ty řádky 4
Nemohl by mě sem někdo hodit zdroják?
Zdravím, potřeboval bych poradit. pokouším se asi 3 hodiny přečíst text z textového souboru do konsole ale neuspěšně.
Podařilo se mně přečíst max. jeden řádek. ale já tam mám ty řádky 4
Nemohl by mě sem někdo hodit zdroják?
hod sem svuj zdrojak a upresni co tim myslis... sic to tu tak nekdy nevypada, ale trivialni domaci ukoly jsou kvuli tomu, aby se neco naucil ten kdo je ma udelat... my to tu samozrejme zvladneme v pohode
Jelikož se mě to nedařilo tak sem zkoušel zdrojáky z netu, ale stejně mě to nějak nešlo jak by mělo.
Abych tu nedával cizí zdrojáky tak vložím svůj ŠPATNÝ, potřebuju teda poradit kde mám chybu, nevypisuje to nic. představuju si že to bude načítat znak po znaku a vypisovat do konzole.
#include <iostream>
using namespace std;
int main()
{
char znak;
FILE *f=fopen("soubor.txt","r");
if (f!=NULL){
while(fgetc(f)!=EOF)
{
cout << fgetc(f);
}
fclose(f);
}
return 0;
}
proc michas nacitani v C a vypis v C++?
existuje knihovna <fstream> a ta umi otevrit soubor a nacitat (kdyz uz ses v tom c++)
+ fgetc(f)!=EOF te pripravi o kazdej druhej znak protoze taky nacita akorat to nikde nepouzijes
tak naučím se to z toho, kdyby mě něko ukázal jak se to dělá. Kdybych alespoň znal ty příkazy věděl ze kterých knihoven jsou a co dělají, pak bych to dohromady možná dal, ale takto fakt nevím. Jak to mám dát dohromady když neznám ty příkazy? kde najdu seznam příkazů + popis co dělají a jak fungují?
a co třeba zkusit google? 5. odkaz a dokonce wikina... studuj... http://en.wikipedia.org/wiki/C_file_input/output je to opravdu hodně snadný, je tam vse co potrebujes a i vic
Po půl hodince sem dal dohromady následující kód. Zjistil sem že je skoro stejný jak můj předchozí s tím rozdílem, že už něco vypisuje, ale jak už mě tady někdo psal vypíše to pouze každý druhý znak. Jak je to možné? proč to nevypíše každý? co mám zase špatně?
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char buffer[500];
FILE *fp = fopen("soubor.txt", "r");
if (fp == NULL) {
perror("Failed to open file \"soubor\"");
return 0;
}
while(getc(fp) != EOF)
{
printf("%c", getc(fp));
}
fclose(fp);
return 0;
}
aha, já to předtím nepochopil. tak sem to teď upravil takto, ale místo těch správných znaků co jsou v souboru to vypisuje smajlíky
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
int main(void)
{
char buffer;
FILE *fp = fopen("soubor.txt", "r");
if (fp == NULL) {
perror("Failed to open file \"soubor\"");
return 0;
}
while(buffer = getc(fp) != EOF)
{
printf("%c", buffer);
}
fclose(fp);
return 0;
}
no getc vraci int ... protoze bys jinak nemel zadnou moznost rozpoznat EOF od platnych znaku...
+ potrebujes presne rict co se ma udelat prvni a pak az srovnat... protoze = ma mensi prioritu nez != v bufferu mas pak 0/1 jen
jo výborně :D konečně to mám :D tak díky za rady (ale mohli jste mně dát rovnou zdroják)
Přikládám funkční zdroják, jen asi některé ty knihovny nejsou potřeba
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
int main(void)
{
char buffer; /* initialized to zero1es */
FILE *fp = fopen("soubor.txt", "r");
if (fp == NULL) {
perror("Failed to open file \"soubor\"");
return 0;
}
while((buffer = getc(fp)) != EOF)
{
printf("%c", buffer);
}
fclose(fp);
return 0;
}
a ceho bysme tim dosahli? (krom toho ten buffer ti zustal furt jako char ne int... nemohl bys s tim zpracovat binarni soubory.. )
takhle ses s tim musel vyporadat sam a treba ti to aspon neco malo da.. ale furt vic nez sem dat kod .. to by ti dalo akorat asociaci "tady to za me vzdy nekdo udela"
Potřebuju poradit. načítám ze souboru pomocí zdrojáku co sem tu našel a chtěl bych pak slovo po slově vytisknout a nastavit u každého slova šířku buňky 10 pomocí setw(10) Ale nějak nevím jak to udělat, protože načítám písmenko po písmenku. Jde to nějak ohraničit, Třeba když narazím na mezeru (konec slova) tak že to bude konec buňky ?
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku