| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 634 人关注过本帖
标题:关于文件的写入怎么会出现这个东西??
只看楼主 加入收藏
C言初学者
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2015-6-17
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:11 
关于文件的写入怎么会出现这个东西??
图片附件: 游客没有浏览图片的权限,请 登录注册
2015-09-30 20:20
C言初学者
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2015-6-17
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2015-09-30 20:21
C言初学者
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2015-6-17
收藏
得分:0 
第一个图片是编译  编译没有问题  连接的时候出现一个错误是怎么回事儿??
2015-09-30 20:22
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
1.參考下面內容
https://bbs.bccn.net/thread-457660-1-1.html
以下是引用TonyDeng在2015-9-26 19:11:02的发言:

仔細看17樓的源代碼:新vc版本和舊版本fopen()函數的區別就在這裡。新版本的函數,返回操作系統定義的錯誤碼,依據這個錯誤碼,可以查閱到fopen()函數到底是什麼原因失敗,是(讀時)文件不存在?抑或是沒有在目錄上讀寫文件的權限?失敗的原因很多,具體是哪種,都由這個錯誤碼反饋回來。然而,舊版本的fopen()是沒有這種功能的。

錯誤碼對應的文字信息,可以這裡查到:https://msdn.(v=vs.85).aspx
比如,錯誤碼2,表示“文件不存在”,而錯誤碼3,則表示“路徑不存在”……有些時候,文件名是沒有寫錯,但路徑名寫錯了,就會老問明明文件存在,怎麼不能打開,殊不知是自己把路徑寫錯了,這種現象,你與其到處問人,不如自己用這個錯誤碼找到真正原因,因為別人不可能看到你機器上的文件到底放在哪裡跟你寫的有什麼不同,這樣你是永遠找不到答案的了。愛用舊版本機制的、愛用標準函數的,全都沒有這種功能,那就自求多福了。

你可以看到,針對舊版本函數,我祗能返回非零——是的,就是!0,不是1,也不是別的什麼具體非零値,!0到底是什麼値,我也不知道。對C語言來說,邏輯假衹有一個値零,但邏輯真卻有無數個値,包括負數,不要以為1才是真,更不要用==1來判斷邏輯真。


2.你頂頭一句屬於不學好。

授人以渔,不授人以鱼。
2015-09-30 20:25
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
2樓的截圖信息已經明確告訴你,那個文件流fp是空指針NULL,表明前面的fopen()操作是失敗的,你自己代碼中不檢查fp是否為空就寫數據進去,當然是運行崩潰(別以為編譯通過就是沒錯,語法沒錯誤,不等於邏輯沒錯誤,編譯是不替你檢查邏輯問題的)。至於為什麼會fopen()失敗,那原因誰也說不清,參考4樓我給你的引用文字,就知道應該如何正確編程和查尋答案。

授人以渔,不授人以鱼。
2015-09-30 20:35
C言初学者
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2015-6-17
收藏
得分:0 
回复 4楼 TonyDeng
谢谢 找到问题了 原因是在 C:\盘目录下无法直接创建文本文档,只能创建文件夹,
2015-09-30 20:43
C言初学者
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2015-6-17
收藏
得分:0 
回复 5楼 TonyDeng
  通过4楼的那个链接查找到错误代码 提示无其他文件,不太明白,然后插入断点,运行程序,发现fputs("hallow",fp);出错,无法写入,然后查看C盘,发现无法创建txt文件,然后创建文件夹,更改路径,运行成功!  好爽!!
2015-09-30 20:51
C言初学者
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2015-6-17
收藏
得分:0 
回复 4楼 TonyDeng
顶头的一句???  标题吗??
2015-09-30 20:56
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
頂頭那個#define

授人以渔,不授人以鱼。
2015-09-30 20:59
C言初学者
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2015-6-17
收藏
得分:0 
回复 9楼 TonyDeng
用scanf fopen函数,不加那个会出现警告,???
2015-09-30 21:04
快速回复:关于文件的写入怎么会出现这个东西??
数据加载中...
 
   



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

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