永发信息网

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

答案:2  悬赏:80  手机版
解决时间 2021-01-02 19:30
  • 提问者网友:疯子也有疯子的情调
  • 2021-01-01 19:25
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文件只要时间,该如何读取啊
最佳答案
  • 五星知识达人网友:酒者煙囻
  • 2021-01-01 20:18
换行用 跳过并读到换行 %*[^\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;
}
全部回答
  • 1楼网友:西风乍起
  • 2021-01-01 21:53
100002 -- 数值大,要用 long int 型变量. 9个用逗号为分格符,1个没有 file *fin; long int a[10],b[10],c[10]; int i; fin = fopen(....); for (i=0;i<=8;i++) fscanf(fin,"%d,",&a[i]); fscanf(fin,"%d",&a[9]); for (i=0;i<=8;i++) fscanf(fin,"%d,",&b[i]); fscanf(fin,"%d",&b[9]); for (i=0;i<=8;i++) fscanf(fin,"%d,",&c[i]); fscanf(fin,"%d",&c[9]);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯