|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2012-3-5 08:46:06
|
显示全部楼层
回复【3楼】lcofjp 卡尔夫
-----------------------------------------------------------------------
多谢提醒,问题解决了,我先加了\0,在输出时还要把\n加上,否则前面输出的别后面的覆盖了
哎,都是 \r\n,\r,\n惹的祸,为什么几大系统不统一成一个呢???
完整版的元程序:
#include <stdlib.h>
#include <stdio.h>
//在windows中默认的以'\r\n'表示文本换行,如果指定文本模式读写文件时,则读取文件时会自动将回车换行转换为'\n',而在写入时又自动将'\n'转换为'\r\n'
struct
{
char Local_IP[17];
char Host_IP[23];
char Subnet_Mask[17];
char Gateway[17];
char Alarm_Start_H;
char Alarm_Start_M;
char Alarm_End_H;
char Alarm_End_M;
unsigned short Time_Interval;
}WIFI_Alarm_Config;
int main()
{
FILE *fp;
char i=0;
static char buffer[512]={0};
if((fp=fopen("d:/config.ini","rb+"))==NULL)
{
printf("Cannot open file!");
while(1);
}
fread(buffer,sizeof(buffer),1,fp);
fclose(fp);
//得到本地IP
for(i=0;i<17;i++)
WIFI_Alarm_Config.Local_IP=buffer[i+3];
WIFI_Alarm_Config.Local_IP[16]='\0';
for(i=0;i<23;i++)
WIFI_Alarm_Config.Host_IP=buffer[i+23];
WIFI_Alarm_Config.Host_IP[22]='\0';
for(i=0;i<17;i++)
WIFI_Alarm_Config.Subnet_Mask=buffer[i+49];
WIFI_Alarm_Config.Subnet_Mask[16]='\0';
for(i=0;i<17;i++)
WIFI_Alarm_Config.Gateway=buffer[i+69];
WIFI_Alarm_Config.Gateway[16]='\0';
WIFI_Alarm_Config.Alarm_Start_H=(buffer[91]-'0')*10+buffer[92]-'0';
WIFI_Alarm_Config.Alarm_Start_M=(buffer[100]-'0')*10+buffer[101]-'0';
WIFI_Alarm_Config.Alarm_End_H=(buffer[109]-'0')*10+buffer[110]-'0';
WIFI_Alarm_Config.Alarm_End_M=(buffer[118]-'0')*10+buffer[119]-'0';
WIFI_Alarm_Config.Time_Interval=(buffer[125]-'0')*10000+(buffer[126]-'0')*1000+(buffer[127]-'0')*100+(buffer[128]-'0')*10+buffer[129]-'0';
printf("%s\n",WIFI_Alarm_Config.Local_IP);
printf("%s\n",WIFI_Alarm_Config.Host_IP);
printf("%s\n",WIFI_Alarm_Config.Subnet_Mask);
printf("%s\n",WIFI_Alarm_Config.Gateway);
printf("%d\n",WIFI_Alarm_Config.Alarm_Start_H);
printf("%d\n",WIFI_Alarm_Config.Alarm_Start_M);
printf("%d\n",WIFI_Alarm_Config.Alarm_End_H);
printf("%d\n",WIFI_Alarm_Config.Alarm_End_M);
printf("%d\n",WIFI_Alarm_Config.Time_Interval);
return 0;
}
![](http://cache.amobbs.com/bbs_upload782111/files_53/ourdev_724165BIRY22.JPG)
(原文件名:4.JPG) |
|