Kopírování necelého souboru – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Kopírování necelého souboru – C / C++ – Fórum – Programujte.comKopírování necelého souboru – C / C++ – Fórum – Programujte.com

 

Hranicarrr
~ Anonymní uživatel
17 příspěvků
30. 1. 2013   #1
-
0
-

Dobrý den,

Potřeboval bych poradit.
Mam program který nakopíruje jeden .txt do jineho.
Ale nwm jak nakopírovat např: jenom dva řádky z daného .txt

děkuji předem za rady.

Nahlásit jako SPAM
IP: 78.45.225.–
Hranicarrr
~ Anonymní uživatel
17 příspěvků
30. 1. 2013   #2
-
0
-

Zapoměl jsem přidat:

fseek(fr, 0, SEEK_END); // presune ukazatel na konec souboru

  long lSize =  ftell(fr); // vrati pozici ukazatele

  rewind(fr); // presune ukazatel v souboru na zacatek

Jak mám udělat aby se nepřesunoval na začátek ale jenom o dva řádky?

Nahlásit jako SPAM
IP: 78.45.225.–
JoDiK
~ Anonymní uživatel
987 příspěvků
30. 1. 2013   #3
-
0
-

#2 Hranicarrr
rewind(delka tech dvou radku); ?

Nahlásit jako SPAM
IP: 88.103.236.–
Hranicarrr
~ Anonymní uživatel
17 příspěvků
30. 1. 2013   #4
-
0
-

A nešlo by to nějak např: v textvém dokumentu napišu:
x="ahoj"

y="zdar"

a budu kopírovat jenom x nebo y podle toho co bych zrovna potřeboval.

šlo by to?

Nahlásit jako SPAM
IP: 78.45.225.–
ondra.holub+1
Stálý člen
30. 1. 2013   #5
-
0
-

To je normální filtr. Ten funguje přibližně takto:

  1. načítám vstup po řádcích
  2. jakmile jsem načetl řádek, který má jít do výstupu, tak ho tam pošlu
  3. může se stát, že načtu řádek, který možná půjde do vstupu, ale dozvím se to později. Pak si ho musím držet v paměti buď do okamžiku, kdy bude vypsán, nebo do okamžiku, kdy se rozhodne, že potřeba nebude. Typický případ je úloha Vypište N posledních řádků souboru
  4. pokud už vím, že nic dalšího do výstupu nepůjde, tak končím se čtením i zápisem
  • Je potřeba zohlednit situace, kdy je jeden řádek příliš dlouhý na to, abych ho načetl najednou
  • Není potřeba znát předem délku vstupu
  • Není potřeba nejdřív celý soubor načíst do paměti (což je v rozporu s obvyklou radou na fórech)

Základní problém je tedy jak načtu jeden řádek. - Můžu v C použít např. metodu fgets nebo v C++ std::getline. Nebo si načítat vstup do vlastního bufferu a v něm pak sám hledat konce řádků. To může být lepší, pokud mám na vstupu hodně dlouhé řádky, ale zase je pracnější to napsat.

Nahlásit jako SPAM
IP: 194.138.12.–
Hranicarrr
~ Anonymní uživatel
17 příspěvků
30. 1. 2013   #6
-
0
-

   

děkuji moc za vysvětleni.
 

Nahlásit jako SPAM
IP: 78.45.225.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 29 hostů

Podobná vlákna

Kopírování souborů z CD — založil Sebix

Kopirovani souboru — založil Jerremy09

Kopírování souboru — založil Šmíd

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý