作者NCUking (中大王)
看板C_and_CPP
标题Re: [问题] fscanf 如何避开 [XXX] 这样类型的字
时间Fri Feb 20 16:52:47 2009
※ 引述《onicalz ()》之铭言:
: ︳뀠引述《smallworld (裤落魔法屎)》之铭言:
: : 我得到的结果是空a 因为照scanf说明 %[^这边的字被无视 当作读取终止条件]
: : 用%[][a-z0-9A-Z]读入[]在去抓中间的吧
: while(fscanf(fp,"%[A-Za-z0-9]",stemp)!=EOF)
: {
: // 先只读 A-Za-z0-9
: fscanf(fp,"%[^A-Za-z0-9]",stemp) ;
: //再把不属於的部分读掉
: }
: 这样就可以只读纯文字了
: 也就是说 读的到 [] 里面的字
: 只是有缺点就是
: 要是有个字是 test.c 如果要把他视为一个字
: 那可能会跟 .(句点) 搞混
: 所以可能还要在加上一些判断式吧
: 是吗 ?
你的目的就是读进[]里面的东西吗
char str[] = "[abc.txt]";
char tmp[20];
sscanf(str, "[%[^]]]", tmp);
这样 tmp[] 就是 abc.txt 了
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.130.83.81