[踩坑] 诡异的 Unicode 负号
引入
这一天我正在写计算方法作业,要读入数据:
1 | |
然后接了个 freopen 来读文件,文件是这样的:
1 | |
数据是我从 PDF 直接复制过来的,看上去十分正常,但是读入的时候发现停不下来?!
分析
仔细看这两个符号:
1 | |
因字体而异,还是能看出来一点区别的。上面这个是 Unicode 负号,而下面这个是普通的 ASCII 减号。
当 cin 读到这个符号的时候,由于没法读入后面 double 类型的 num,所以会失败,而这个字符还是留在了流里,于是一次次读这个字符,就卡住了。
解决
换成-就好了,下次还是不能偷懒啊……
[踩坑] 诡异的 Unicode 负号
http://xiao-h.com/2025/10/19/踩坑-诡异的Unicode负号/