首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

文件操作,多谢各位了

2012-03-09 
文件操作,谢谢各位了#include stdafx.h#includeiostream#includestdio.h#includestringusing name

文件操作,谢谢各位了
#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,

热点排行