int和long之间的转换
long lCount = pMessages->Count - 1;
int count2[2]={0};
if((fp=fopen("c:\\count.txt","rb"))==NULL)
{
printf("cannot open the file.\n");
exit(1);
}
fread(&count2,sizeof(count2),1,fp);
fclose(fp);
if(&count2==lCount)
{
;
}
我在count.txt中添加3,&count2能正确得到数据,但是我执行红色部分有错误,我知道是long型和int型之间的转换问题,我不知道怎么改才能得到3,long(*count2)都试过了,没用,请各位大哥帮帮忙,在线等!O(∩_∩)O谢谢
[解决办法]
if(&count2==lCount)
这样比是错的 &count2中得到 数组首地址,这样是个地址在和 lCount比较;
改成 if(count2[0]==lCount)试试
[解决办法]
[解决办法]
- C/C++ code
#include <stdio.h>#include <stdlib.h>int main(void){ int num; char str[16] = {0}; FILE *fp = fopen("1.txt", "r"); if (fp) { fread(str, sizeof(str[0]), 1, fp); num = atoi(str); printf("%d\n", num); fclose(fp); } return 0;}
[解决办法]