programowanie C
julq: programowanie C
Witam, mam takie polecenie, nie wiem w sumie czy do końca jest ono poprawnie sformułowane:
− Napisz program ktory otworzy plik i zapisze i odczyta z niego znak
pomoże ktoś? to ma być taki krótki przykładowy programik
5 cze 17:00
Mateusz:
Ma to byc program w C czy C++ jak w C to go tam za bardzo nie pamietam
ale zrobie ci analog
w pascalu a ty sobie go przetłumaczysz na C czy tam na inny:
Program przykl;
var
znak:char;
tekst:text;
i:byte;
begin
writeln('Napisz jakikolwiek znak');
readln(znak);
assign(tekst,'tekst.txt');
append(tekst);
writeln(tekst,znak);
close(tekst);
reset(tekst);
writeln('Wypisanie danych z pliku:');
while not eof(tekst) do
begin
read(tekst,znak);
writeln(znak)
end;
close(tekst);
readln;
end.
opis:
znak−zmienna typu znakowego
tekst−zmienna plikowa text−predefiniowany plik tekstowy
assign−skojarzenie zmiennej plikowej z fizycznym plikiem na dysku
reset−otwiera istniejący na dysku plik tylko do odczytu(czyli plik musisz sam wczesniej
utworzyć przed kompilacją)
append−otwiera plik i umozliwia dopisanie danych na koniec pliku
eof−funkcja zwraca prawde−true gdy plik znajduje sie w pozycji przed ostatnim znakiem pliku tj
ctrl−z lub gdy plik nie zawiera zadnych elementów
read−procedura wyprowadza z otwartego pliku dane ktore są przypisane drugiemu parametrowi tj
zmiennej w programie u nas znak
close−zamkniecie pliku
ty robisz teraz analog np w c++ zeby działac na plikach trzeba zadeklarowac plik nagłówkowy
#include<fstream>
ofstream−otwarcie pliku itd
5 cze 18:25
julq: To ma być czyste C, zrobiłem coś takiego:
#include<stdio.h>
main()
{
file *fp1;
char znak;
fp1=fopen("myfile.txt","w")
while((znak=getchar())!=EOF)
{
putc(znak,fp1);
}
fclose(fp1);
fp1=fopen("myfile.txt","r")
while((znak=getc(fp1))!=EOF)
{
printf("%c",znak)
}
fclose(fp1);
}
hmm ?
5 cze 18:34
Mateusz:
No to tu ci nie pomoge niestety ja C miałem pare razy moze a nigdy go nie wykorzystywałem i
raczej nie wykorzystam jak sie siedzi cały czas w IV generacji czasem zejdzie do drugiej (bo
jest taka potrzeba). Ale probuj wg takiego schematu jaki ci podałem w tym przykładowym
programie ewentualnie uzytkownik Trivial ci pomoze on prędzej zna język C.
5 cze 18:47
Trivial:
Osobiście nie rozumiem polecenia. Twój program wygląda dobrze, poprawiłem drobne błędy:
#include <stdio.h>
int main(void) {
FILE *fp1;
char znak;
fp1 = fopen("dane.txt", "w");
while ((znak = getchar()) != EOF)
putc(znak, fp1);
fclose(fp1);
fp1 = fopen("dane.txt", "r");
while ((znak = getc(fp1)) != EOF)
printf("%c", znak);
fclose(fp1);
return 0;
}
6 cze 00:36