#2 hlucheucho
ja som si to skúšal krokovať ale hneď v prvom kroku mi to píše že používam nedeklarovanú premennú soubor ktorá je zadeklarovaná o riadok vyžšie ..
Preto by to chcelo niekho kto to hodí do debuggeru a povie mi čo tam mám zle :/
Příspěvky odeslané z IP adresy 2001:67c:1220:c1b1:ec8b:c...–
Farbis_kralis
Farbis_kralis
Zdarte, mám řešit zadání, kde z jednoho souboru vytahnu retezec, seradim ho a pote zase ulozim. Myslite, ze zdrojak co sem nasel je pouzitelny? resp. nema nekdo neco funkcniho. diik
main:
# include <stdio.h>
#include<stdlib.h>
# include "lbr_file.h"
int main()
{
FILE *zdroj, *cil;
{
open_file_read(zdroj);
open_file_write(cil);
int i, j = 0;
while (i = getc(zdroj), feof(zdroj) == 0)
{
j = j + 1;
putc(i, cil);
}
return(0);
}
close_file(zdroj);
close_file(cil);
return 0;
}
.c
#include <stdio.h>
#include<stdlib.h>
#include "lbr_file.h"
FILE *open_file_read(FILE *soubor){
// Nastavuj ukazatele na NULL nebo nulu hned při jejich deklaraci
// FILE *soubor = 0;
soubor = fopen("zdroj.txt", "r");
if (!soubor){
printf("Nepodařilo se otevřít soubor \n");
return 0;
}
// Vrátíme odkaz na nově otevřený soubor
return soubor;
}
FILE *open_file_write(FILE *subor){
// Nastavuj ukazatele na NULL nebo nulu hned při jejich deklaraci
//FILE *subor = 0;
subor = fopen("cil.txt", "w");
if (!subor){
printf("Nepodařilo se otevřít soubor \n");
return NULL;
}
// Vrátíme odkaz na nově otevřený soubor
return subor;
}
int close_file(FILE *sobor){
// změníme parametr funkce fclose
if (fclose(sobor) == 0)
return 1;
else
return 0;
//fclose(sobor) == 0 ? return 1 : return 0;
}
.h
#ifndef __lbr_file_H__
#define __lbr_file_H__
FILE *open_file_read(FILE *soubor);
FILE *open_file_write(FILE *subor);
int close_file(FILE *sobor);
#endif