搞定马上结贴,在线等

Jim649529523 2011-08-13 06:34:13
我写的一个程序:功能是将一个程序制成一个软驱映像来启动,这个程序按道理来说应该很简单,可是这个程序就是不对,请问错误在哪?
代码如下:

#include <stdio.h>
#include <stdlib.h>
int main()
{
long int i;
FILE * in;
FILE * out;
char temp;
in = fopen("boot.ini", "rb");
out = fopen("Boot.img", "wb");
for(i = 0; i < 512; i++)
{
fread(&temp, 1, 1, in);
fwrite(&temp, 1, 1, out);
}
temp = '\0';
for(i = 512; i < 1474560; i++)
{
fwrite(&temp, 1, 1, out);
}
fclose(in);
fclose(out);
}
...全文
117 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jernymy 2011-08-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xxwy89 的回复:]
我运行的时候没有出现问题的啊,在vc6.0中编译的,新建一个boot.ini文件就行了。
[/Quote]
楼主有创建这个文件么?
xingzhiyaoni321 2011-08-13
  • 打赏
  • 举报
回复
程序是能运行,
冒昧的问一句你往boot.imgi里面写那么多'\0'干嘛!
乐哉悠哉 2011-08-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xxwy89 的回复:]

我运行的时候没有出现问题的啊,在vc6.0中编译的,新建一个boot.ini文件就行了。
[/Quote]
我试了也一样,在工程目录下新建一个boot.ini文件(fopen打开后将指针赋予in),就没有错误了~
無_1024 2011-08-13
  • 打赏
  • 举报
回复
神马编译器啊楼主是
quwei197874 2011-08-13
  • 打赏
  • 举报
回复
哪内存越界了吧
xxwy89 2011-08-13
  • 打赏
  • 举报
回复
我运行的时候没有出现问题的啊,在vc6.0中编译的,新建一个boot.ini文件就行了。
Jim649529523 2011-08-13
  • 打赏
  • 举报
回复
提示的错误是:
Null Pointer Assignment
Jim649529523 2011-08-13
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <stdlib.h>
int main()
{
long int i;
FILE * in;
FILE * out;
char temp;
in = fopen("boot.ini", "rb");
out = fopen("Boot.img", "wb");
for(i = 0; i < 512; i++)
{
fread(&temp, 1, 1, in);
fwrite(&temp, 1, 1, out);
}
temp = '\0';
for(i = 512; i < 1474560; i++)
{
fwrite(&temp, 1, 1, out);
}
fclose(in);
fclose(out);
}

69,380

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧