- 主题:如何scanf有控制符的字符串?
etc/day文件中有一些控制符,单纯用fscanf和sscanf好像读不出来中间的数字和字符串:
poststat中是这么写的:
fprintf(fp, "\033[37m第\033[31m%3d\033[37m 名 \033[37m信区 : \033[33m%-16s\033[37m【\033[32m%s\033[37m】\033[36m%4d \033[37m人\033[35m%16s\n"
" \033[37m标题 : \033[44m\033[37m%-60.60s\033[m\n", !mytype ? real : (i + 1), top[i].board, p, top[i].number, fh.owner, fh.title);
}
我如果写下面的程序
int main()
{
FILE *fp;
int i;
char buf[1024],title[1024],tmp[1024];
fp = fopen("day","r");
fgets(buf,1024,fp);
fgets(buf,1024,fp);
for(i=0;i<10;i++){
fgets(buf,1024,fp);
fgets(buf,1024,fp);
sscanf(buf,"%s标题 : %s",tmp,title);
printf("%d:%s\n",i,buf);
printf("\ttitle:%s\n",title);
printf("\ttmp:%s\n",tmp);
}
fclose(fp);
return 0;
}
读出来的结果类似于:
title:H羼?
tmp:标题
如何才能读出标题呢,谢谢
--
FROM 61.167.60.*
%s读到空格就停了吧。
【 在 luckwithme (xml) 的大作中提到: 】
: etc/day文件中有一些控制符,单纯用fscanf和sscanf好像读不出来中间的数字和字符串:
: poststat中是这么写的:
: fprintf(fp, "\033[37m第\033[31m%3d\033[37m 名 \033[37m信区 : \033[33m%-16s\033[37m【\033[32m%s\033[37m】\033[36m%4d \033[37m人\033[35m%16s\n"
: ...................
--
FROM 61.51.122.*
应该是读到\0吧,我想
【 在 fancyrabbit (兔兔猫★Initial F★那些故去的如果的事) 的大作中提到: 】
: %s读到空格就停了吧。
--
FROM 61.167.60.*
。。。scanf系列函数哪个不是读到空格的
你sscanf(buf, "%s", s)一下,buf里存个"aaa bbb",看看s最后等于几 ><><
【 在 luckwithme (xml) 的大作中提到: 】
: 应该是读到\0吧,我想
--
FROM 61.51.122.*
对的,一个空格分开变量...
【 在 fancyrabbit (兔兔猫★Initial F★那些故去的如果的事) 的大作中提到: 】
: 。。。scanf系列函数哪个不是读到空格的
: 你sscanf(buf, "%s", s)一下,buf里存个"aaa bbb",看看s最后等于几 ><><
--
FROM 221.192.237.*
哦,原来如此。
那我能不能一次读一行呢,例如把标题一下子读出来呢
【 在 fancyrabbit (兔兔猫★Initial F★那些故去的如果的事) 的大作中提到: 】
: 。。。scanf系列函数哪个不是读到空格的
: 你sscanf(buf, "%s", s)一下,buf里存个"aaa bbb",看看s最后等于几 ><><
--
FROM 61.167.60.*
读到'\n'为止?
【 在 luckwithme (xml) 的大作中提到: 】
: 哦,原来如此。
: 那我能不能一次读一行呢,例如把标题一下子读出来呢
--
FROM 221.192.237.*
对,可以做到吗
【 在 foxban (长白发了....) 的大作中提到: 】
: 读到'\n'为止?
--
FROM 61.167.60.*
你试试阿,我印象里是可以。。。
【 在 luckwithme (xml) 的大作中提到: 】
: 对,可以做到吗
--
FROM 221.192.237.*
嗯,好的,谢谢
【 在 foxban (长白发了....) 的大作中提到: 】
: 你试试阿,我印象里是可以。。。
--
FROM 61.167.60.*