當前位置:首頁 » 編程語言 » c語言創建文件沒反應
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言創建文件沒反應

發布時間: 2022-10-30 20:06:25

㈠ 初學者。c語言文件操作,輸入內容後ctrl+z回車後就沒反應了。求助

看第六行

#include"stdio.h"
#include"stdlib.h"
voidmain()
{
FILE*fp;
intc;//這里改成charc;
charfilename[40];
printf("Enterthefilename:");/*輸入文件名並創建文件*/
gets(filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("fileopenerror! ");
exit(1);
}
else
printf("succeedinbuildingthenewfile"%s" ",filename);

printf("enterthecontents:");/*輸入內容並存儲*/

while((c=getchar())!=EOF)/*鍵盤文件結束標志:輸入ctrl+z,顯示^z後回車*/
putc(c,fp);

fclose(fp);

printf("Readfromfileetablished:");/*讀取文件中的內容並顯示*/
fp=fopen(filename,"r");

while((c=getc(fp))!=EOF)
putchar(c);
fclose(fp);
printf(" ");

}

㈡ C語言在C盤目錄下建立不了文件。求解答

如果你的系統是win7的話,不能保存在c:盤的根目錄。你可以試著存在c:盤的一個目錄(文件夾)里。

㈢ 怎樣解決C語言程序'不能創建輸出文件'

一、 實驗環境 匯編語言程序設計的實驗環境如下: 1. 硬體環境 微型計算機(Intel x86系列CPU)一台 2. 軟體環境 n Windows98/2000/XP操作系統 n 任意一種文本編輯器(EDIT、NOTEPAD(記事本)、UltraEDIT等) n 匯編程序(MASM.EXE或TASM.EXE) n 連接程序(LINK.EXE或TLINK.EXE) n 調試程序(DEBUG.EXE或TD.EXE) 文本編輯器建議使用EDIT或NOTEPAD,匯編程序建議使用MASM.EXE,連接程序建議使用LINK.EXE,調試程序建議使用TD.EXE。 二、 上機實驗步驟 註:以下步驟適用於除匯編語言程序設計的實驗一到實驗四外的所有實驗(實驗一到實驗四僅使用TD.EXE)。 1 .確定源程序的存放目錄 建議源程序存放的目錄名為ASM(或MASM),並放在C盤或D盤的根目錄下。如果沒有創建過此目錄,請用如下方法創建: 通過Windows的資源管理器找到C盤的根目錄,在C盤的根目錄窗口中點擊右鍵,在彈出的菜單中選擇「新建」→「文件夾」,並把新建的文件夾命名為ASM。 請把MASM.EXE、LINK.EXE、DENUG.EXE和TD.EXE都拷貝到此目錄中。 2 .建立ASM源程序 建立ASM源程序可以使用EDIT或NOTEPAD(記事本)文本編輯器。下面的例子說明了用EDIT文本編輯器來建立ASM源程序的步驟(假定要建立的源程序名為HELLO.ASM),用NOTEPAD(記事本)建立ASM源程序的步驟與此類似。 在Windows中點擊桌面左下角的「開始」按鈕→選擇「運行」→在彈出的窗口中輸入「EDIT.COM C:\ASM\HELLO.ASM」,屏幕上出現EDIT的編輯窗口,如圖1所示。 圖1 文本編輯器EDIT的編輯窗口 窗口標題行顯示了EDIT程序的完整路徑名。緊接著標題行下面的是菜單行,窗口最下面一行是提示行。菜單可以用Alt鍵激活,然後用方向鍵選擇菜單項,也可以直接用Alt-F打開File文件菜單,用Alt-E打開Edit編輯菜單,等等。 如果鍵入EDIT命令時已帶上了源程序文件名(C:\ASM\HELLO.ASM),在編輯窗口上部就會顯示該文件名。如果在鍵入EDIT命令時未給出源程序文件名,則編輯窗口上會顯示「UNTITLED1」,表示文件還沒有名字,在這種情況下保存源程序文件時,EDIT會提示輸入要保存的源程序的文件名。 編輯窗口用於輸入源程序。EDIT是一個全屏幕編輯程序,故可以使用方向鍵把游標定位到編輯窗口中的任何一個位置上。EDIT中的編輯鍵和功能鍵符合Windows的標准,這里不再贅述。 源程序輸入完畢後,用Alt-F打開File菜單,用其中的Save功能將文件存檔。如果在鍵入EDIT命令時未給出源程序文件名,則這時會彈出一個「Save as」窗口,在這個窗口中輸入你想要保存的源程序的路徑和文件名(本例中為C:\ASM\HELLO.ASM)。 注意,匯編語言源程序文件的擴展名最好起名為.ASM,這樣能給後面的匯編和連接操作帶來很大的方便。 3 .用MASM.EXE匯編源程序產生OBJ目標文件 源文件HELLO.ASM建立後,要使用匯編程序對源程序文件匯編,匯編後產生二進制的目標文件(.OBJ文件)。具體操作如下: 方法一:在Windows中操作 用資源管理器打開源程序目錄C:\ASM,把HELLO.ASM拖到MASM.EXE程序圖標上。 方法二:在DOS命令提示符窗口中操作 選擇「開始」→「程序」→「附件」→「命令提示符」,打開DOS命令提示符窗口,然後用CD命令轉到源程序目錄下,接著輸入MASM命令: I:>C:<回車> C:>CD \ASM<回車> C:\ASM>MASM HELLO.ASM<回車> 操作時的屏幕顯示如圖2所示。 圖2 在DOS命令提示符窗口中進行匯編 不管用以上二個方法中的哪個方法,進入MASM程序後,都會提示讓你輸入目標文件名(Object filename),並在方括弧中顯示默認的目標文件名,建議輸入目標文件的完整路徑名,如:C:\ASM\HELLO.OBJ〈回車〉。後面的兩個提示為可選項,直接按回車。注意,若打開MASM程序時未給出源程序名,則MASM程序會首先提示讓你輸入源程序文件名(Source filename),此時輸入源程序文件名HELLO.ASM並回車,然後進行的操作與上面完全相同。 圖3 有錯誤的匯編過程例子 如果沒有錯誤,MASM就會在當前目錄下建立一個HELLO.OBJ文件(名字與源文件名相同,只是擴展名不同)。如果源文件有錯誤,MASM會指出錯誤的行號和錯誤的原因。圖3是在匯編過程中檢查出兩個錯誤的例子。在這個例子中,可以看到源程序的錯誤類型有兩類: 警告錯誤(Warning Errors)。警告錯誤不影響程序的運行,但可能會得出錯誤的結果。此例中無警告錯誤。 嚴重錯誤(Severe Errors)。對於嚴重錯誤,MASM將無法生成OBJ文件。此例中有兩個嚴重錯誤。 在錯誤信息中,園括弧里的數字為有錯誤的行號(在此例中,兩個錯誤分別出現在第6行和第9行),後面給出了錯誤類型及具體錯誤原因。如果出現了嚴重錯誤,你必須重新進入EDIT編輯器,根據錯誤的行號和錯誤原因來改正源程序中的錯誤,直到匯編沒有錯為止。 注意,匯編程序只能指出程序的語法錯誤,而無法指出程序邏輯的錯誤。 4 .用LINK.EXE產生EXE可執行文件 在上一步驟中,匯編程序產生的是二進制目標文件(OBJ文件),並不是可執行文件,要想使我們編制的程序能夠運行,還必須用連接程序(LINK.EXE)把OBJ文件轉換為可執行的EXE文件。具體操作如下: 方法一:在Windows中操作 用資源管理器打開源程序目錄C:\ASM,把HELLO.OBJ拖到LINK.EXE程序圖標上。 方法二:在DOS命令提示符窗口中操作 選擇「開始」→「程序」→「附件」→「命令提示符」,打開DOS命令提示符窗口,然後用CD命令轉到源程序目錄下,接著輸入LINK命令: I:>C:<回車> C:>CD \ASM<回車> C:\ASM>LINK HELLO.OBJ<回車> 操作時的屏幕顯示如圖4所示。 圖4 把OBJ文件連接成可執行文件 不管用以上二個方法中的哪個方法,進入LINK程序後,都會提示讓你輸入可執行文件名(Run file),並在方括弧中顯示默認的可執行文件名,建議輸入可執行文件的完整路徑名,如:C:\ASM\HELLO.EXE〈回車〉。後面的兩個提示為可選項,直接按回車。注意,若打開LINK程序時未給出OBJ文件名,則LINK程序會首先提示讓你輸入OBJ文件名(Object Moles),此時輸入OBJ文件名HELLO.OBJ並回車,然後進行的操作與上面完全相同。 如果沒有錯誤,LINK就會建立一個HELLO.EXE文件。如果OBJ文件有錯誤,LINK會指出錯誤的原因。對於無堆棧警告(Warning:NO STACK segment)信息,可以不予理睬,它不影響程序的執行。如鏈接時有其它錯誤。須檢查修改源程序,重新匯編、連接,直到正確。 5 .執行程序 建立了HELLO.EXE文件後,就可以直接在DOS下運行此程序,如下所示: C:>HELLO〈回車〉 C:> 程序運行結束後,返回DOS。如果運行結果正確,那麼程序運行結束時結果會直接顯示在屏幕上。如果程序不顯示結果,我們如何知道程序是否正確呢?例如,這里的HELLO.EXE程序並未顯示出結果,所以我們不知道程序執行的結果是否正確。這時,我們就要使用TD.EXE調試工具來查看運行結果。此外,大部分程序必須經過調試階段才能糾正程序執行中的錯誤,調試程序時也要使用TD.EXE。

㈣ C語言文件創建不了

試試這個:項目-項目屬性-配置屬性-鏈接器-啟用增量鏈接 將「是」改成「否」,再重新運行試試

㈤ C語言求大神。為什麼我的fopen創建不了文件啊

這里寫錯了:f = fopen("ADDRESS_DATA", "w+");

因為你用的是宏,去掉引號就可以了

f=fopen(ADDRESS_DATA,"w+");

㈥ C語言求大神。為什麼我的fopen創建不了文件啊。就是我運行也可以。就是沒有文件創建出來

宏變數名 加了引號就不是宏了,而是字元串!
改為:
char mydata[80]="C:\\huliangkai\\Downloads\\student.txt";
f = fopen(mydata,"w+");
。。。。。(mydata,"r");

㈦ C語言che程序,為什麼不能創建文件

試試打開時用"w+"

㈧ c語言文件讀寫問題,文件沒內容程序是照著書上搬出來的,運行啥都沒問題就是生成的文件裡面看不到內容

代碼上幾個錯誤:
a)文件名的存儲空間只有10個字元,而你輸入的也是10個字元,字元串末尾要增加一個\0字元,所以你已經內存訪問越界了,文件名數組習慣定義的大小是MAX_PATH,也就是250字元左右
b) 你使用的是不帶文件路徑的文件名,這樣的文件名的具體位置依賴於」當前路徑「,而很多人對當前路徑的理解是錯誤的,它不是可執行文件所在位置,所以也許你看了不同位置的文件。你先試試輸入完整路徑再說
c)你在不停檢查fp !=NULL,注意,除非你主動設置fp=NULL否則一旦它有值無論文件後續是否被關閉,它都不是NULL,所以只有fopen後那一個fp!=NULL有意義,其他都是錯誤
現在很多書都是垃圾,所以書照搬不是好標注,還是要好好理解語言,不要過分相信書

㈨ 在c語言中文件不能被創建的原因是什麼

用C?恐怕不怎麼好吧,一般都用匯編,寫真正的病毒需要你有扎實的計算機基本功。很多
首先要對計算機系統有著良好的理解,這方面需要的知識有:計算機體系結構,計算機組成原理,基本硬體組織。。。
第二,操作系統,一方面要懂操作系統原理。。。另一方面最好深入windows和linux一探系統內核。。。另外,要熟悉CPU的指令集,這一點非常重要,只有對指令集非常熟悉,才能使你寫出的代碼非常完美,這是躲過防病毒軟體的基本功。。。
第三,與編寫病毒密切相關的程序設計和調試技術,例如匯編,反匯編,操作系統裝載程序機理,可執行文件程序結構(例如PE),windows下的動態鏈接,進程遠程代碼注入,跟蹤調試,反特徵碼採集(如加花指令)等等。。。
第四,網路和資料庫技術以及信息安全技術。。。

總之,寫病毒需要你有良好的底層代碼操縱能力,若病毒體直接用C來寫的話,代碼體積肯定膨脹,還沒上道就被人殺掉了!!!,當然,在有些特殊的地方可能需要用C來做一些連接(例如地址重定位中的某些特殊情況)。。。不過一般不多。。。

㈩ c語言沒有創建文件

改成

fp=fopen("c:\1\1.txt","w");

同時 C:1這個文件夾需要你手動創建,不然一樣會出錯.

推薦在打開文件後

if(fp==NULL)
{
printf("openfilefailed ");
return-1;
}

這樣看列印就知道是否打開成功了.