VC++中运行程序建立二进制文件,老是出现这样的有关问题【附图】
VC++中运行程序建立二进制文件,老是出现这样的问题【附图】
在vc++6.0中运行程序时,老是出现这种情况,不止这一个程序是这样!请问是什么原因导致的?谢谢大师指导……
------解决方案--------------------
------解决方案--------------------
vc6 在 win7 下有兼容性问题
------解决方案--------------------
编译器与系统不兼容问题!你可以尝试重新装vc也可以选择更高版本的vs或者换编译器,比如CB也挺好使
------解决方案--------------------
虚拟机上的装的啊,显然装的不成功,库函数没有装入,提示找不到FOPEN.c!估计其他库函数也不好使!你在虚拟机里装xp?
尝试以下建议
1.重新下载vc,再完全安装,中间需要勾选的项都勾上
2.换个IDE,比如codeblacks
3.换个系统去球,哈哈
------解决方案--------------------
升级编译器或降级OS
------解决方案--------------------
你代码也有问题,最好不要在一个流上同时读写。
在vc++6.0中运行程序时,老是出现这种情况,不止这一个程序是这样!请问是什么原因导致的?谢谢大师指导……
VC++6.0
内存异常
------解决方案--------------------
#include <stdio.h>
#include <stdlib.h>
#define N 50
main()
{
FILE *fp;
int i,j;
int a[]={32,64,23,16,90,61,99,0,0,0},b[N];
if((fp=fopen("d:\\tfile\\006.dat","wb+"))==NULL)
{
printf("文件打开失败!\n");
exit(1);//需要stdlib.h文件
}
else
{
for(i=0;i<10;i++)
if(fwrite(&a[i],sizeof(int),1,fp)!=1)printf("write file ERROR !\n");
}
i=0;j=0;
rewind(fp);
fread(&b[j],sizeof(int),1,fp);
while(b[j]!=0)
{
j++;
fread(&b[j],sizeof(int),1,fp);
}
for(i=0;i<j;j++)//error j++应该是i--,否则,死循环,最后内存就跳台了
{
printf("%d\t",&b[i]);
}
printf("\n");
fclose(fp);
return 0;
}
------解决方案--------------------
vc6 在 win7 下有兼容性问题
------解决方案--------------------
编译器与系统不兼容问题!你可以尝试重新装vc也可以选择更高版本的vs或者换编译器,比如CB也挺好使
------解决方案--------------------
虚拟机上的装的啊,显然装的不成功,库函数没有装入,提示找不到FOPEN.c!估计其他库函数也不好使!你在虚拟机里装xp?
尝试以下建议
1.重新下载vc,再完全安装,中间需要勾选的项都勾上
2.换个IDE,比如codeblacks
3.换个系统去球,哈哈
------解决方案--------------------
升级编译器或降级OS
------解决方案--------------------
你代码也有问题,最好不要在一个流上同时读写。
#include <stdio.h>
#include <stdlib.h>
#define ARRAY_SIZE(a) (sizeof(a)/ sizeof(a[0]))
int main()
{
int a[]={32,64,23,16,90,61,99,0,0,0};
char const* fn = "006.dat";
FILE* fp=fopen(fn,"a");
unsigned int read_cnt, i;
if(NULL == fp)
{
printf("文件打开失败!\n");
exit(1);
}
if(ARRAY_SIZE(a) != fwrite(a,sizeof(int), ARRAY_SIZE(a) ,fp))
{
printf("write file ERROR !\n");
}
fclose(fp);
fp = fopen(fn, "r");
if(NULL == fp)
{
printf("文件打开失败!\n");
exit(1);
}
while((read_cnt = fread(a,sizeof(int), ARRAY_SIZE(a),fp)) > 0)
{
for(i = 0; i < read_cnt; ++i)
{
printf("%d\t",a[i]);
}