读书人

文件操作多谢各位了

发布时间: 2012-03-09 21:42:55 作者: rapoo

文件操作,谢谢各位了
#include "stdafx.h"
#include<iostream>
#include<stdio.h>
#include<string>
using namespace std;
int main()
{
FILE *fp;
string *s=new string;
string a("fdsfads");
s=&a;
int f=26;int l=0;
if ((fp=fopen("test.txt","w+"))==NULL) /*打开只写的文本文件*/
{
printf("cannot open file!");
return 0;
}
fwrite(&f,sizeof(int),1,fp);

fclose(fp); /*关文件*/

if ((fp=fopen("test.txt","r"))==NULL) /*打开只写的文本文件*/
{
printf("cannot open file!");
return 0;
}

fread(&l,sizeof(int),1,fp);

cout<<l;//为什么向文本中写入26但读出来的结果是0,如果写入27,28....等别的数读出来的是正确的,怎么解决,如果想写入26

fclose(fp);
return 0;}
谢谢各位了。。。。。




[解决办法]
fp=fopen("test.txt","wb+")
用二进制方式打开看看,读取那个也一样用二进制的。

[解决办法]
用2进制形式写入和读出,原因的话可能要查下ascii值为26的是一个什么特殊字符吧
[解决办法]
你的代码乱七八遭的,
你试试加个fseek,

读书人网 >C++

热点推荐