想写数据到硬盘,再读出来用。下面是调试写和读的代码,问题见后面。 char str[256];
for (int i = 0; i < 256; i++) //初始写入的数组
{
str[i] = i;
} FILE *pFile = fopen("20070501.dat", "ab"); //先写入
fwrite(str, 1, 256, pFile);
fclose(pFile); pFile = fopen("20070501.dat", "rb"); //读
char strRead[256];
fread(strRead, 1, 256, pFile);
fclose(pFile); pFile =fopen("2007.dat","ab"); //再写,验证读的是否正确
fwrite(strRead, 1, 256, pFile);
fclose(pFile);
现象:
1。在调试的时候,128以上的数在watch窗口里面显示的是负数,补码。
如129显示-127
定义unsigned char就显示128以上的正数了。
2。在调试的时候,读入的数组strRead[],128-255数显示0-127。
而且点感叹号运行不生成.dat文件
3。关掉vc,运行debug下的.exe,两次写入的文件都是0-255的数,如我本意。
生成两个.dat文件问题:
1。char还有符号类型么?
2。调试和运行的时候,观察变量和实际运行不一样? 那调试的时候观察数据的意义何在?
3。调试的时候为什么不生成.dat文件?
for (int i = 0; i < 256; i++) //初始写入的数组
{
str[i] = i;
} FILE *pFile = fopen("20070501.dat", "ab"); //先写入
fwrite(str, 1, 256, pFile);
fclose(pFile); pFile = fopen("20070501.dat", "rb"); //读
char strRead[256];
fread(strRead, 1, 256, pFile);
fclose(pFile); pFile =fopen("2007.dat","ab"); //再写,验证读的是否正确
fwrite(strRead, 1, 256, pFile);
fclose(pFile);
现象:
1。在调试的时候,128以上的数在watch窗口里面显示的是负数,补码。
如129显示-127
定义unsigned char就显示128以上的正数了。
2。在调试的时候,读入的数组strRead[],128-255数显示0-127。
而且点感叹号运行不生成.dat文件
3。关掉vc,运行debug下的.exe,两次写入的文件都是0-255的数,如我本意。
生成两个.dat文件问题:
1。char还有符号类型么?
2。调试和运行的时候,观察变量和实际运行不一样? 那调试的时候观察数据的意义何在?
3。调试的时候为什么不生成.dat文件?
解决方案 »
- MFC新手 软件安装进度信息在对话框上的显示是如何实现的
- AfxMessageBox的问题,小白哦
- 分也不多一人5分
- vc+ado连接,select操作可行,能选出来记录集,而delete和addnow就不行,总是出错??听说这个问题很常见
- 怎样可以得到动态创建的控件的消息呢?
- 我想在一幅背景位图上画一个物体,然后擦除它。。。。。。
- 内存泄漏问题
- 怎么让对话框程序启动时隐藏?
- 下面的代码为什么在win7下会出问题?
- 线程可不可以和进程一样有一个名字?我的程序在连续对线程进行启动、停止操作后老有一个停不掉。
- 高手请教,想用键盘模拟手柄,一台机子上用两个键盘而不冲突
- 关于hough变换提取图象中规定最小长度的所有直线的问题~~~
2 运行结果不一样的话是你的程序问题,例如你用了相对路径,而当前目录是未知的。你应该用GetModuleFileMame和PathAppend来生成一个绝对路径。
3 用绝对路径看看