注册 登录
编程论坛 C语言论坛

这个错在哪里啊?

chaw899 发布于 2019-07-17 19:59, 2282 次点击
#include <stdio.h>
#include <unistd.h>
#include <unistd.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>

int main()
{
   char c;
   int in,out;
   int rc;
   in = open("file1",O_RDONLY);
   out = open("file2",O_WRONLY|O_CREAT,S_IRUSR|S_IWUSR);
   while( ( rc = read(in,&c,1)) == 1)
   {
      printf("%d.\n",rc);
      write(out,&c,1);
   }
   exit(0);
}

想把file1复制到file2。源文件46k,实际只复制了4k。
mingw编译的。

网上查的资料说,文件很快读完了,所以读到字节不正确了。

6 回复
#2
rjsp2019-07-18 09:01
mingw?那就是在windows上运行了,加个 O_BINARY 试试
#3
chaw8992019-07-18 11:46
回复 2楼 rjsp
是^Z 字符引起的,不知道如何解决?
#4
rjsp2019-07-18 11:53
不知道如何解决?
我在2楼没回答你吗?!
#5
chaw8992019-07-18 12:11
以下是引用rjsp在2019-7-18 11:53:37的发言:

我在2楼没回答你吗?!
试过,没用。
#6
rjsp2019-07-18 13:01
以下是引用chaw899在2019-7-18 12:11:51的发言:

试过,没用。
你是怎么试的?不写出来的话,别人知道你哪里错了?
(另外,完整的代码我都已经在你另一个帖子中给了)

算了,你也不要特意回答我了。这样一问一答的,大家都累,而且浪费网站空间。
#7
静夜思2019-07-18 13:19
翻了一下楼主所有的帖子 https://bbs.bccn.net/space.php?action=threads&uid=947399 ,问题解决以后都是一声不吭,没有对问题解决后的反馈(更不用说致谢),其实别人参与讨论最想知道的就是你最后通过哪种方式解决的。

楼主对自己没有利益的讨论,一个字都不愿意多说(比如上面的5楼)。

爱哪去哪去吧,本论坛不欢迎精致的利己主义者。
1