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

文件的有关问题,大家都来讨论下

2012-03-11 
文件的问题,大家都来讨论下韩珍,销售部,2006-11-1910:25,stats.update.microsoft.com,207.46.157.125:80,

文件的问题,大家都来讨论下
韩珍,销售部,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分别写如各串到文件就可以了,或者你把空格去掉

热点排行