#include
#include
#include
#include
#include
#include
#include
#include
#define infile "temp.dat"
#define outfile "outfile.dat"
#define length 20
void translation()
{
int creatf;
int infd, outfd;
char buf[50];
if ((creatf = open(infile, O_WRONLY | O_TRUNC | O_CREAT, 10700)) == -1)
{
printf("ERROR, OPEN READ FILE FAILED: \n", sys_errlist[errno]);
exit(255);
}
else
{
printf("Create Successful\n");
}
strcpy(buf, "Hello");
if (write(creatf, buf, strlen(buf)) != strlen(buf))
{
printf("ERROR, WRITE FILE FAILED: \n", sys_errlist[errno]);
exit(255);
}
else
{
printf("Write Successful\n");
}
close(creatf);
if (infd = open(infile, O_RDONLY)==-1)
{
printf("ERROR, OPEN READ FILE FAILED: \n", sys_errlist[errno]);
exit(255);
}
else
{
printf("INFILE Open Success\n");
}
if (outfd = open(outfile, O_WRONLY | O_TRUNC | O_CREAT, 10700)==-1)
{
printf("ERROR, OPEN WRITE FILE FAILED: \n", sys_errlist[errno]);
exit(255);
}
else
{
printf("OUTFILE Open Success\n");
}
int count;
while((count = read(infd, buf, sizeof(buf))) > 0) //在这一行就出现程序就停下来了
{
if (write(outfd, buf, count) != count)
{
printf("ERROR, WRITE FILE FAILED: \n", sys_errlist[errno]);
exit(255);
}
else
{
printf("%s", buf);
}
}
close(infd);
close(outfd);
}
void main()
{
translation();
}
在读文件时,程序就停止了,我按回车后才继续显示下一步,但是和预想中的不一样!
图片说明
上图表示在此处停住了
上图表示停住后,按下回车键时,断断续续的出现的东西(文件里面只写了"Hello")
我想问一下问题到底出在了什么地方??