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

c語言文件寫入函數

發布時間: 2022-01-12 06:15:51

A. 求c語言讀取寫入文本文件的函數實現

#include<stdio.h>
#include<string.h>//strlen()
#include<malloc.h>//malloc()
intFileCreate(char*filePath,char*fileContext)
{
FILE*fp;
fp=fopen(filePath,"w+");
if(fp)
{
fwrite(fileContext,strlen(fileContext),1,fp);
fclose(fp);
return0;
}
return1;
}
char*FileRead(char*filePath)
{
FILE*fp;
longintfsize;
char*fileContext;
fp=fopen(filePath,"r");
if(fp)
{
fseek(fp,0,SEEK_END);
fsize=ftell(fp);
rewind(fp);
fileContext=(char*)malloc(fsize+1);//注意釋放內存
fread(fileContext,fsize,1,fp);
*(fileContext+fsize)='';
fclose(fp);
returnfileContext;
}
returnNULL;
}

intmain()//測試
{
char*fileContext;
char*filePath="d:\111.txt";
FileCreate(filePath,"abc123");
fileContext=FileRead(filePath);
printf("%s",fileContext);
free(fileContext);//釋放
return0;
}

B. 用c語言創建一個txt文件,並且寫入數據

#include <stdio.h>

int main()

{

//下面是寫數據,將數字0~9寫入到data.txt文件中

FILE *fpWrite=fopen("data.txt","w");

if(fpWrite==NULL)

{
return 0;

}

for(int i=0;i<10;i++)

fprintf(fpWrite,"%d ",i);

fclose(fpWrite);

//下面是讀數據,將讀到的數據存到數組a[10]中,並且列印到控制台上

int a[10]={0};

FILE *fpRead=fopen("data.txt","r");

if(fpRead==NULL)

{
return 0;

}

for(int i=0;i<10;i++)

{

fscanf(fpRead,"%d ",&a[i]);

printf("%d ",a[i]);

}

getchar();//等待


return 1;

}


(2)c語言文件寫入函數擴展閱讀:

c語言最常用的文件使用方式及其含義
1、"r".為讀而打開文本文件.(不存在則出錯)

2、"rb".為讀而打開二進制文件.

3、"w".為寫而打開文本文件.(若不存在則新建,反之,則從文件起始位置寫,原內容將被覆蓋)

4、"wb".為寫而打開二進制文件.

5、"a".為在文件後面添加數據而打開文本文件.(若不存在,則新建;反之,在原文件後追加)

6、"ab".為在文件後面添加數據而打開一個二進制文件.

7、"r+".為讀和寫而打開文本文件.(讀時,從頭開始;在寫數據時,新數據只覆蓋所佔的空間,其後不變)

8、"rb+".為讀和寫而打開二進制文件.只是在隨後的讀寫時,可以由位置函數設置讀和寫的起始位置.

9、"w+".首先建立一個新文件,進行寫操作,隨後可以從頭開始讀.(若文件存在,原內容將全部消失)

10、"wb+".功能與"w+"同.只是在隨後的讀寫時,可以由位置函數設置讀和寫的起始位置.

11、"a+".功能與"a"相同;只是在文件尾部添加新的數據後,可以從頭開始讀.

12、"ab+".功能與"a+"相同;只是在文件尾部添加新數據之後,可以由位置函數設置開始讀的起始位置.

參考鏈接來源:網路-C語言

C. C語言怎麼將輸入函數體的文字寫到文本文件裡面

yujianhengxing正解,是用C++做的,我用C語言做了一下
#include
<stdio.h>
int
main()
{
FILE
*p;
p=fopen("D:\\123.txt","w");
char
a[1000];
gets(a);//注意不要溢出
fprintf(p,"%s",a);
fclose(p);
return
0;
}

D. C語言fwrite函數文件寫入不成功

fwrite寫入時覆蓋不覆蓋原來文件是用參數決定的
fwrite原型:

size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
返回值:返回實際寫入的數據塊數目
(1)buffer:是一個指針,對fwrite來說,是要獲取數據的地址;
(2)size:要寫入內容的單位元組數;
(3)count:要進行寫入size位元組的數據項的個數;
(4)stream:目標文件指針;
(5)返回實際寫入的數據項個數count。
是否覆蓋決定於stream
FILE *stream=fopen("文件名","mod");
其中mod如下:
(1)r 以只讀方式打開文件,該文件必須存在。
(2)r+ 以可讀寫方式打開文件,該文件必須存在。
(3)rb+ 讀寫打開一個二進制文件,允許讀寫數據,文件必須存在。
(4)w 打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。
(5)w+ 打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。
(6)a 以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。(EOF符保留)
(7)a+ 以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。 (原來的EOF符不保留)
(8)wb 只寫打開或新建一個二進制文件;只允許寫數據。
(9)wb+ 讀寫打開或建立一個二進制文件,允許讀和寫。
(10)ab+ 讀寫打開一個二進制文件,允許讀或在文件末追加數據。

E. c語言寫入文件的函數

for
(i=*p;i<*p+1;i++)這一句就錯大了。p還沒有賦值,哪來的*p?所以再沒有往下看。

F. c語言怎麼將數據寫入文件

利用VC軟體通過代碼書寫就可以將數據寫入文件。

G. C語言如何以插入方式寫入文件

一、以只讀的方式打開原文件fopen,"r"方式;
二、以只寫的方式新建一個文件fopen,"wt"方式;
三、將原文件自y字母前的九個位元組的字元寫入新文件配合用fgetc()和fputc()兩種函數;
四、再將四個『Z』寫入新文件,用fputc()或者fputs()均可;
五、繼續將原文件未讀完的部分寫入新文件,同三
六、將原文件刪除,再將新文件改名為原文件即可,用rename()函數

H. c語言中進行文件讀寫的函數是

C語言對文件進行讀取之前需要先打開文件,然後再進行讀寫,讀寫完之後關閉文件。
可以使用兩組函數實現:
一、C語言庫函數
打開文件:fopen
讀寫(一般對應成對使用):
fgetc---fputc fgets---fputs fread---fwrite
關閉文件:fclose

二、Linux系統函數
打開文件:open
讀寫(一般對應成對使用):read---write
關閉文件:close

I. C語言中的Write函數

write()寫文件函數

原形:int write(int handle,char *buf,unsigned len)

功能:將緩沖區的數據寫入與handle相聯的文件或設備中,handle是從creat、open、p或p2調用中得到的文件句柄。

對於磁碟或磁碟文件,寫操作從當前文件指針處開始,對於用O_APPEND選項打開的文件,寫數據之前,文件指針指向EOF;對於設備,位元組被直接傳送到設備中。

(9)c語言文件寫入函數擴展閱讀:

用法

頭文件:<unistd.h>

write有兩種用法。一種是:ssize_t write(int fd, const void *buf, size_t nbyte);

fd:文件描述符;

buf:指定的緩沖區,即指針,指向一段內存單元;

nbyte:要寫入文件指定的位元組數;

返回值:寫入文檔的位元組數(成功);-1(出錯)

write函數把buf中nbyte寫入文件描述符handle所指的文檔,成功時返回寫的位元組數,錯誤時返回-1.

另一種是: write(const char* str,int n)

str是字元指針或字元數組,用來存放一個字元串。n是int型數,它用來表示輸出顯示字元串中字元的個數。

write("string",strlen("string");表示輸出字元串常量

J. 關於c語言文件寫入讀取函數的問題 謝謝

fprintf和printf是一樣的用法。只不過前者用於寫文件,後者用於寫屏幕而已!