2010-04-30 56 views
1

HI ......我想寫這樣的事情在一個文件中,使用FWRITEFWRITE C編程

fwrite("name is %s\n",name, 60, fp); 

,但不工作,只在文件中寫入字符串。任何想法?

+7

編寫C程序(或任何程序)的第一步是實際查看API文檔,而不是僅僅隨意引用它並希望它能起作用。 – 2010-04-30 21:12:36

回答

9

你的意思是fprintf

fprintf(fp, "name is %s\n", name); 

fwrite設計主要用於將原始二進制數據寫入文件,而不是文本輸出。對於文本輸出它更自然的使用fprintffputsfputc


如果你真的需要fwrite,您必須將name部分進行分離,如:更重要的是

fwrite("name is ", 1, 8, fp); 
fwrite(name, 1, strlen(name), fp); 
fwrite("\n", 1, 1, fp); 
+0

另一種方法是使用'sprintf'到緩衝區,然後使用'fwrite'寫入緩衝區。 – 2010-05-01 01:07:41

4

,在bash提示符,做

$ man fwrite 

如果在Windows或沒有安裝manpages的系統上, t在瀏覽器http://linuxmanpages.com/

說真的,越早熟悉手冊頁,越容易學習C。