易截截图软件、单文件、免安装、纯绿色、仅160KB

C文件读写

char data[255]={0},user[15],password[32];

if((fp=fopen("QQ.ini","wb+"))==NULL)
{
printf("无法创建QQ.ini文件\n");
system("pause");
exit(0);
}
else
{
printf("初始化数据尚未创建\n请输入QQ账号:");
gets(user);
printf("请输入QQ密码:");
gets(password);
sprintf(data,"user:%spassword:%s",user,password);
fwrite(data,strlen(data),1,fp);
memset(data,0,255);
fseek(fp,0L,0);
fread(data,strlen(data),1,fp);
printf("输出:%s\n",data);
fclose(fp);
printf("创建初始化文件成功\n");
}
为什么输出结果为空??创建的QQ.ini文件正常,问题就是无法从这个文件读出数据
我一向用"w+b"

strlen(data)好像是0

问题重新描述下:
我有个QQ.ini,里面内容是:user:35555password:444
这是我fwrite(data,strlen(data),1,fp);一次写入的,打开方式wb close文件

然后我第二次运行程序,想读取这个文本数据
rb方式打开,确保文件指针不空后,fseek(fp,0L,2);fread(data,ftell(fp),1,fp);
再一次性读出

为什么得到的结果是空字串?????

memset(data,0,255);
之后strlen(data)=0
读0长度,当然是空

第二种:
fseek(fp,0L,2);
long l = ftell(fp);
fseek(fp,0L,0);
fread(data,l,1,fp);
文件指针移到文件头

C/C++ code





相关问答:

pro*c 里怎么将select 的返回内容赋值给变量那?

pro*c 里怎么将select 的返回内容赋值给变量那?


EXEC SQL BEGIN DECLARE SECTION;
  char CALLNO[30];
EXEC SQL END DECLARE SECTION;

 
  EXEC SQL SELECT CALLNO ......

c基础

#include <string.h>
#include <stdio.h>

void main()
{
int i;
char buf[]="abcde";
strncpy(buf,"abc",3);
for(i=0;i <5;i++)
printf(&q ......

C程序问题

有这样两个问题,希望高手指点:
第一:
struct struct_A{
int a;
char b;
int c;
short d;
}
  struct struct_B{
  int a;
  char b;
  short c;
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号