fgets()函数取得txt文件某一行字符 再用MessageBox()打印出来发现末尾多了个'| '符号,这是怎么回事?

ofn.....if(GetOpenFileName(&ofn))......fputs(szFile,fp);//szFile文件路径把它写入fp指向的txt文件...... ofn.....
if(GetOpenFileName(&ofn))
......
fputs(szFile,fp); //szFile文件路径把它写入fp指向的txt文件
.......
再用fgets()取这一行字符 messagebox()得到的字符结尾就多了个' | '

如:
F:\风声\KuGou\Celine Dion - My Heart Will Go On.mp3| //这里的' | ’ 是我加上的,我复制原先那个过来末尾这个 | 又不见了 怎么回事啊啊?我要用mcisendstring()来播放这个文件的,多了这个东西就PathStripPath()用不了了。
展开
 我来答
风若远去何人留
2014-03-04 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450134
专业C/C++软件开发

向TA提问 私信TA
展开全部
猜测可能是你fgets的时候 要写入的字符串空间没有清零造成的
试试先把目标字符串空间清零看是否还有这个问题
如果仍有 那么检查一下文件中是否有这个|
更多追问追答
追问

我是直接定义字符数组为={“”},应该算清零吧?

ListBox_InsertString(hwndLIST,0,string[0]);

MessageBox(hwnd,string[0],"",MB_OK);

这两句  第一句listbox显示出来就有个 | ,第二句显示就没有    是不是文件本身的一个行末标志?我直接打开txt也是看不见 |  的   如下图:

追答
你的字符数组是怎么定义的?
另外 你用listbox显示的时候 可以选择吗? 可以的话把这个|复制出来 确定一下它是不是真的|

或者是一个像|的其他字符
百度网友54c420c5481
2014-03-04 · TA获得超过388个赞
知道小有建树答主
回答量:2888
采纳率:0%
帮助的人:1018万
展开全部
再操作要记得清零
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式