Kopirovanie suborov – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Kopirovanie suborov – C / C++ – Fórum – Programujte.comKopirovanie suborov – C / C++ – Fórum – Programujte.com

 

tojejedno
~ Anonymní uživatel
3 příspěvky
31. 12. 2011   #1
-
0
-

Nedavno som sa zacal ucit cecko a momentalne sa snazim trocha venovat praci so subormi . Snazil som sa naprogramovat programik tak , aby skopiroval obsah vstup.txt do suboru suboru vzstup.txt

nakodil som nieco taketo :

#include <stdio.h>

#define VSTUP "vstup.txt"
#define VYSTUP "vystup.txt"

int main()
{
    FILE * fp_1, * fp_2;
    char character;
    int checker;
    long int checker_2;

    fp_1 = fopen(VSTUP, "r");
    fp_2 = fopen(VYSTUP, "a");

    if (fp_1 == NULL)
        printf("Nejde otvorit subor %s", VSTUP);

    if (fp_2 == NULL)
        printf("Nejde otvorit subor %s", VYSTUP);

    if ((checker_2 = ftell(fp_2)) != 0)
        fputc('\n', fp_2);

    while ((character = fgetc(fp_1)) != EOF)
        if ((checker = fputc((int) character, fp_2) == EOF))
            puts("Chyba pri kopirovani");

    if ((fp_1 != 0) && (fp_2 != 0) && (checker != EOF))
        puts("Kopirovanie prebehlo uspesne");

    fclose(fp_1);
    fclose(fp_2);


    return 0;
}

Ide oto , ze rad by som to spravil tak ze ak uz subor vystup.txt nieco obsahuje  tak dalsi obsah sa zapise za nim ale na novy riadok. To znamena ze vystup.txt trebars obsahuje "sassdas" a ja si znova otvorim svoj programik a dalsi obsah sa nezapise takto  "sassdasdalsiobsah"  ale dalsi obsah sa zapise na novy riadok.
 Snazil som sa to vyriesil funkciou ftell() ktora by mala vracat aktualnu poziciu indikatora v ramci suboru ale nepodaruilo sa mi to :( Nejake napady ? :) Dakujem za pripadnu pomoc

Nahlásit jako SPAM
IP: 91.127.51.–
crazy
~ Moderátor
+10
Grafoman
31. 12. 2011   #2
-
0
-

fp_2 = fopen(VYSTUP, "a"); změň na fp_2 = fopen(VYSTUP, "w");

a - znamená append (jako přidat)

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
tojejedno
~ Anonymní uživatel
3 příspěvky
31. 12. 2011   #3
-
0
-

vsak ja nehcem vystup premazat ale pridat na novy riadok dalsi obsah zo vstupu...

Nahlásit jako SPAM
IP: 91.127.51.–
lukas.balaz0
Super člen
31. 12. 2011   #4
-
0
-

Ak by si sa uči c++ bolo by toto úplne jednoduché.

Nahlásit jako SPAM
IP: 62.168.112.–
lukas.balaz0
Super člen
31. 12. 2011   #5
-
0
-

a k tomu myslím, že ten append z návrhu crazyho ti ten výstup neprepíše, preto tam je(ale nie som si istý, ja by som to robil úplne inak na c++)

Nahlásit jako SPAM
IP: 62.168.112.–
tojejedno
~ Anonymní uživatel
3 příspěvky
31. 12. 2011   #6
-
0
-

jo v C++ by to bolo urcite jednoduchsie avsak ja to potrebujem v C kvoli skole ... :(

ALe jak som pisal nwm ci ste ma pochopili, proste to chcem mat tak, ze ked mam v tom vystup.txt trebars "abrakadabra"  tak dalsi obsah sa nezapise za "abrakadabradalsiobsah" ale dalsi obsah sa zapise na novy riadok za "abrakadabra"

Nahlásit jako SPAM
IP: 91.127.51.–
zlz
~ Anonymní uživatel
634 příspěvků
31. 12. 2011   #7
-
0
-

Po otevření souboru pro přidávání nemusí indikátor pozice hned ukazovat na konec souboru. Když zavoláš nějakou funkci, která mění pozici, tak se indikátor aktualizuje. Můžeš použít třeba fseek pro posun na konec souboru.

Nahlásit jako SPAM
IP: 213.211.51.–
lukas.balaz0
Super člen
3. 1. 2012   #8
-
0
-

A čo sa stane ak si otvoríš vystup.txt aj s tým appendom, čo napísal crazy a prvé, čo doňho napíšeš bude nový riadok    (/n)

Nahlásit jako SPAM
IP: 62.168.112.–
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, 39 hostů

Podobná vlákna

Kopirovanie a vytvaranie suborov — založil Codemaster

Rodovnnanie a kopirovanie — založil marek

Kopírovanie a vloženie textu — založil dusan0611

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ý