作者coldtt (土地公阿伯五ㄅ比)
看板C_and_CPP
标题[问题] 关於档案输出问题
时间Tue Aug 11 12:53:43 2009
小弟写了一个输出档(输出整数数列),但出现如下乱码:
‵′〃‵?〃〃〃〃〃〃??〃??〃?〃〃‵????‵〃〃〃?〃?′?〃‵
为测试出错原因,於同位置萤幕输出相同语法结果无误(如下整数数列)
2 7 8 2 3 6 5 6 1 5 6 ...
语法如下( C ):
fprintf(o_solution, "%d ", x_final[j]); (档案输出部份乱码)
printf("%d ", x_final[j]); (萤幕输出部分正确)
1. 因萤幕输出部分正确,因此不再对 x_final 做检查 不知如此做是否适当?
2. 原因如上,所以怀疑出错在 o_solution 的档案宣告,但检查後又发现无误。
2.1. 所有与 o_solution 有关之部分除宣告外皆已列出(就只有要印上面那样)
2.2. 大部分的输入问题结果皆正确(印出整数数列), 仅此输入现在问题时
产生乱码(但萤幕输出部分有正确)。
3. 同时宣告多个档案型别指位器, 但确认过无名称之重复,开关档也皆做过确认。
FILE *i_RROP_model, *i_model_primal, *i_solution_primal
,*i_output_solution, *o_solution, *o_log_final;
以上是所有小弟认为也许有帮助的判断条件,因专案太大且跨多个档案,实在也不知道
要怎麽一次PO出。烦请各位高手帮帮忙。我完全找不出原因!!!若还需要什麽辅助判断
条件请跟我说,我再补上。请教教我该检查哪里!!! 万分感谢!!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.54.198
1F:→ suhorng:曾碰过这样的问题 +1 08/11 12:58
2F:推 VictorTom:第一个怀疑, 你不是开到unicode的文字档?? 08/11 13:02
3F:→ VictorTom:或者其他非ansi的txt档案, 用UltraEdit之类的开Hex mode 08/11 13:05
4F:→ VictorTom:看一下写坏的档案试试?? 08/11 13:05
开档如下:
o_solution = fopen("solution_final.txt", "w");
目前跑了约10个问题, 只有一个问题有出现这种情况。
这样是否排除上述情况呢? 还是还要在测试什麽?
感谢!!!
※ 编辑: coldtt 来自: 140.114.54.198 (08/11 13:48)
5F:→ VictorTom:所以都是开新档没有开以存在的档案?? 那就不用理我了Orz 08/11 13:54
6F:→ coldtt:~"~还是感谢!!! 有没有人知道这是怎麽一回事!!!救救我啊!!! 08/11 13:59
7F:推 LPH66:正是记事本出包 08/11 14:26
8F:→ LPH66:记事本误判编码成 Unicode 了 08/11 14:26
9F:→ LPH66:你可以用其他软体例如Word来开开看就知道 08/11 14:26
10F:→ coldtt:对了对了!用WorldPad开就可以正常读取了!真是太感谢您了!!! 08/11 16:06
11F:→ coldtt:是否可以再请问什麽情况可能会出现这样的错误呢?因同样的程 08/11 16:06
12F:→ coldtt:式 用不同的变数大小去跑 只有一特定问题出现这样状况!!! 08/11 16:07
13F:→ coldtt:但我又找不到它的规则性!想请问您是否知道造成原因? 08/11 16:07
14F:推 VictorTom:晕~~所以我就说开Hex拉出来看看先嘛....Orz 08/11 16:11
15F:→ VictorTom:记得Notepad是把txt file的头两个byte拿来判断是否是 08/11 16:11
16F:→ VictorTom:unicode的档案?? 08/11 16:11
17F:推 elfkiller:喔喔 原来有这个问题 笔记推 08/11 22:29