私はファイルの内容を逆にするプログラムを書いて実験していました。したがって、コンテンツが「abc」の入力ファイルを指定すると、コンテンツが「cba」のファイルが作成されます。
残念ながら、それは機能せず、理由がわかりません。
助けてくれませんか?ありがとう
編集:私はそれが学校の課題であったことを言及するのを忘れました-そして私たちはlseekやopenのような機能を使わなければなりません-私がfgetcと他の機能を使うべきだったと私に言わないでください:)
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
void reverse_file(char * in, char * out)
{
int infile, outfile;
infile = open(in, O_RDONLY);
outfile = open(out, O_WRONLY);
char buffer;
char end = EOF;
write(outfile, &end, sizeof(char));
do
{
// seek to the beginning of a file
read(infile, &buffer, sizeof(char));
// printf("the code of a character %d\n", buffer); // returns 10 instead of EOF
lseek(outfile, 0, SEEK_SET);
write(outfile, &buffer, sizeof(char));
} while (buffer != EOF);
close(outfile);
close(infile);
}
int main()
{
reverse_file("tt", "testoutput");
return 0;
}