文件的问题,大家都来讨论下
韩珍,销售部,2006-11-19 10:25,stats.update.microsoft.com,207.46.157.125:80, "3,325 "
陈昌国,客户服务部,2006-11-19 5:50,stats.update.microsoft.com,207.46.157.125:80, "10,739 "
韩珍,销售部,2006-11-19 5:37,download.windowsupdate.com,207.138.126.152:80,478
文件中有类似上面的文件,要取出一行付值。下面是我的程序:
#include <stdio.h>
#include <string.h>
#include <math.h>
struct pp /*定义可以存放文件一行的结构体*/
{
char name[30]; /*姓名*/
char depart[20]; /*部门*/
char date[15]; /*时间一*/
char time[10]; /* 时间二*/
char website[40]; /*访问的网址*/
char ip[30]; /*网址的ip地址*/
char number[20]; /*此次的上网流量*/
}p;
main() /*函数开始*/
{
FILE *fp;
clrscr();
if((fp=fopen( "source.txt ", "rb "))==NULL)/*打开指定的文件并检查是否打开*/
{
printf( "can not open file\n ");
return;
}
fscanf(fp, "%s,%s,%s %s,%s,%s,%s ",p.name,p.depart,p.date,p.time,p.website,p.ip,p.number); /*取出文件中的数值*/
fclose(fp);
printf( "%s,%s,%s %s,%s,%s,%s\n ",p.name,p.depart,p.date,p.time,p.website,p.ip,p.number);
}
结果是:
韩珍,销售部,2006-11-19 ,,,,,
大家看看哪的问题,如何修改??
[解决办法]
2006-11-19 10:25,
哪个空格作怪呢,
想个办法吧 呵呵
[解决办法]
fscanf遇见空格认为结束了,用fgets然后解析。
[解决办法]
fgets分别写如各串到文件就可以了,或者你把空格去掉