| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1248 人关注过本帖, 1 人收藏
标题:如何读取计算机中的文件
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你返回1是在這裏
程序代码:
infile.open(filename.c_str());
    if(!infile)
        return 1;

在前面加一行輸出filename及filename.c_str()的語句,運行時看看是什麽内容。直接在infile.open()函數中寫正確的文件名,看看能否打開。關鍵是檢查能够正確打開時的文件名字符串是否與當前讀到的filename.c_str()一樣。僅僅用open()的返回真假是無法告訴你真正原因的,應用操作系統返回的錯誤碼,那才是最清晰的答案。

[ 本帖最后由 TonyDeng 于 2014-2-9 19:01 编辑 ]

授人以渔,不授人以鱼。
2014-02-09 18:49
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你機器上的毛病,我怎麽可能知道你錯在哪裏,真好笑了。運行時出現的外部數據問題,靠別人告訴你答案,基本上是不可能的。你不想自己調試就算了吧,我不會替你做這種事,別的人或者有那閑工夫。

授人以渔,不授人以鱼。
2014-02-09 18:52
ClarenceC
Rank: 2
等 级:论坛游民
帖 子:54
专家分:18
注 册:2014-1-10
收藏
得分:0 
回复 8楼 TonyDeng
对于您的“在分支中寫一句輸出filename到底是什麽内容的代碼進行調試”有点模糊
2014-02-09 18:54
ClarenceC
Rank: 2
等 级:论坛游民
帖 子:54
专家分:18
注 册:2014-1-10
收藏
得分:0 
回复 12楼 TonyDeng
您可能误会我了,我绝没有不想调试的意思,我确实不知道如何去调试,您说是机器的毛病,但我也不知道如何去调试机器,是我对计算机了解太少了,而我觉没有不想把这问题弄清楚的意思。
2014-02-09 18:58
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
11樓告訴你怎麽做了。總之凡是文件無法打開的問題,解決思路是一樣的:首先用硬編碼(直接寫文件名字符串)打開文件,看是否成功,然後把文件名替換爲變量,追踪變量是否確實與之前的硬編碼是完全一樣的。文件無法打開的可能性有很多,千奇八怪的原因,不是僅僅用邏輯真假就可以的,查閲open()函數的手冊資料,看它怎麽說在返回假的時候該怎麽定位問題,庫函數參考資料,永遠是你手頭的必備書,不要沒擁有這些資料就學寫程序。本來教C++的書上在講流文件讀寫時都應該講這個問題的,如果你看的書沒這方面的内容,那就不是什麽很好的教材了。

程序就是這樣反復改出來的,運行時發生的問題,是程序員編程生涯絕大部分時間面對的問題,他的時間和精力主要都花在這裏,很痛苦的,最好有心理準備。

[ 本帖最后由 TonyDeng 于 2014-2-9 19:13 编辑 ]

授人以渔,不授人以鱼。
2014-02-09 19:06
ClarenceC
Rank: 2
等 级:论坛游民
帖 子:54
专家分:18
注 册:2014-1-10
收藏
得分:0 
回复 15楼 TonyDeng
呵呵,我还在奇怪11楼是怎么出来的呢。谢谢您了。
2014-02-09 19:11
ClarenceC
Rank: 2
等 级:论坛游民
帖 子:54
专家分:18
注 册:2014-1-10
收藏
得分:0 
回复 15楼 TonyDeng
咦,怎么刚才的那一楼更改了呢?
2014-02-09 19:13
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用ClarenceC在2014-2-9 19:13:21的发言:

咦,怎么刚才的那一楼更改了呢?

作者隨時可以修改自己帖子的呀

授人以渔,不授人以鱼。
2014-02-09 19:16
ClarenceC
Rank: 2
等 级:论坛游民
帖 子:54
专家分:18
注 册:2014-1-10
收藏
得分:0 
回复 15楼 TonyDeng
咦,怎么又改了呢?您是怎么做到的呢?我是很喜欢编程的,我学计算机专业的,呵呵,我自己找的教材(不知道什么教材好),我这个寒假还没停过编程呢。gratitudes to you
2014-02-09 19:19
ClarenceC
Rank: 2
等 级:论坛游民
帖 子:54
专家分:18
注 册:2014-1-10
收藏
得分:0 
回复 18楼 TonyDeng
oh!!!
2014-02-09 19:20
快速回复:如何读取计算机中的文件
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046741 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved