关于 用fscanf读文件,把文件中用##分割的内容分开

今天呀,被学弟问了一个问题

文件里存的是“123##456##0##1644444.....##”

为什么用fscanf(fp, "%s##%s......", &card[sum1].aName, .......)从文件里读出来,那个aName里就把123##456啥啥啥的全读进去了。

看来是因为用#作为分割控制格式的时候,#也会被当作字符读进后面的card[sum1].aName。

于是搜了搜fscanf,用菜鸟教程的示例代码重现了他的问题:

文件中是“We##are##in##2014”

读出来是这样的

并没有成功分开那些字符串。

于是就想到用%[^#],当碰到#时就把#号前的内容存入后面对应的变量中。

然后按照格式写,如图

然后就能得到正确分割开的结果了,输出如下:

 

posted @ 2022-04-14 18:17  EisenJi  阅读(83)  评论(0编辑  收藏  举报