用fscanf读取txt文件里面的半 行数据,读完 后该如何换行

May1022:25:37localhostsendmail[3375]:restarting/usr/sbin/sendmailduetosignalMay1022:2... May 10 22:25:37 localhost sendmail[3375]: restarting /usr/sbin/sendmail due to signal
May 10 22:25:37 localhost sm-msp-queue[3374]: restarting /usr/sbin/sendmail due to signal
May 10 22:25:37 localhost sm-msp-queue[6161]: starting daemon (8.14.4): queu eing@01:00:00
May 10 22:25:37 localhost sendmail[6163]: starting daemon (8.14.4): SMTP+que ueing@01:00:00
读取上面的txt文件只要时间,该如何读取啊
展开
 我来答
金色潜鸟
推荐于2016-09-18 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5732万
展开全部
换行用 跳过并读到换行 %*[^\n]
fscanf() 是有格式读。时间 时分秒 假定在 开始的第三个字符串:
n=fscanf(fp,"%*s %*s %d:%d:%d %*[^\n]",&h,&m,&s);
格式 %*s %*s 跳过2个字符串 月和日
格式 %d:%d:%d 读 时分秒 分隔符 分号
格式 %*[^\n] 跳过本行 余留 未读 的 全部字符。
n -- 成功读到的 变量个数。
程序如下:
main( ){
FILE *fp;
int h,m,s;
int n;
fp=fopen("a.txt","r");
while(1){
n=fscanf(fp,"%*s %*s %d:%d:%d %*[^\n]",&h,&m,&s);
if (feof(fp))break;
if (n==3) printf("%d %d %d\n",h,m,s);
};
fclose(fp);
return 0;
}
匿名用户
2015-05-16
展开全部
采用fgets比较好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式