當前位置:首頁 » 編程語言 » c語言fputc

c語言fputc

發布時間: 2022-11-01 10:55:00

A. c語言fputc不是寫字元嗎,為什麼格式是fputc (int c,FILE*fp)

函數名稱:寫字元文件函數fputc()

函數格式:int fputc (int c, File *fp)

參數解釋:fp為文件指針,它的值是執行fopen()打開文件時獲得的。

c為輸出的字元量。

雖然函數被定義為整型數,但僅用其低八位。

返回值:在正常調用情況下,函數返回寫入文件的字元的ASCII碼值,出錯時,返回EOF(-1)。當正確寫入一個字元或一個位元組的數據後,文件內部寫指針會自動後移一個位元組的位置。EOF是在頭文件 stdio.h中定義的宏。

B. C語言關於fputc函數的使用。

就是輸入一個打出一個。putchar()括弧裡面的應該填一個字元或者字元數組名,比如a[0]

而10就是換行的ASCII碼就是換行。相當於「 「

]

C. c語言中fputc是什麼意思

fputc是C語言中的一個函數。功能是將字元ch寫到文件指針fp所指向的文件的當前寫指針的位置。函數格式:int fputc (int c, FILE *fp)。

在正常調用情況下,函數返回寫入文件的字元的ASCII碼值,出錯時,返回EOF(-1)。當正確寫入一個字元或一個位元組的數據後,文件內部寫指針會自動後移一個位元組的位置。EOF是在頭文件 stdio.h中定義的宏。


(3)c語言fputc擴展閱讀

函數名稱:寫字元文件函數fputc()

函數格式:int fputc (int c, File *fp)

參數解釋:fp為文件指針,值是執行fopen()打開文件時獲得的。

c為輸出的字元量。

雖然函數被定義為整型數,但僅用其低八位。

D. 函數fputc()的功能是什麼

函數fputc()的功能:將字元ch輸出到fp所指向的文件中.若成功則返回該字元;否則返回EOF

E. C語言 關於fgetc 函數

fgetc函數的功能:從文件指針stream指向的文件中讀取一個字元,讀取一個位元組後,游標位置後移一個位元組。

格式:int fgetc(FILE *stream);

說明:這個函數的返回值,是返回所讀取的一個位元組。如果讀到文件末尾或者讀取出錯時返回EOF。

示例:

#include<string.h>
#include<stdio.h>
#include<conio.h>
intmain(void)
{
FILE*stream;
charstring[]="Thisisatest";
intch;

/*openafileforupdate*/
stream=fopen("DUMMY.FIL","w+");

/*writeastringintothefile*/
fwrite(string,strlen(string),1,stream);
/*seektothebeginningofthefile*/
fseek(stream,0,SEEK_SET);
do
{
/*readacharfromthefile*/
ch=fgetc(stream);
/*displaythecharacter*/
putch(ch);
}
while(ch!=EOF);
fclose(stream);
return0;
}

F. c語言(VC下) fputc寫入失敗

出問題的主要原因是,讀寫切換的時候,需要重新定位(使用fsetpos,fseek,rewind),必要時要使用fflush.
int main(int argc, char* argv[])
{

char infile[80]="in.txt";
char outfile[80]="out.txt";
printf("Hello World!\n");
FILE *in=fopen(infile,"r");

int ch,ch2;
if(!in){
printf("open %s failure!",infile);
getchar();

return -1;
}
FILE *out=fopen(outfile,"w+");
if(!out){
fclose(in);
printf("open %s failure!",outfile);
getchar();

return -2;
}
while(EOF!=(ch=fgetc(in)))
{
if(ftell(out)>0)
{
fseek(out,-1,SEEK_END);
//printf("file pointer position=%d\n",ftell(out));
ch2=fgetc(out);
//printf("file pointer position=%d\n",ftell(out));
//fseek(out,0,SEEK_END);
//printf("filesize=%d\n",ftell(out));

if(ch!=ch2){
fseek(out,0,SEEK_END);
fputc(ch,out);
}
else {
fseek(out,-1,SEEK_END);
fputc(ch,out);
}

}
else fputc(ch,out);
};
fclose(in);
fclose(out);
getchar();

return 0;
}
PS:
錯誤具體原因,請看VC6的幫助,的相關內容。
VC6幫助:
When the "r+", "w+", or "a+" access type is specified,
both reading and writing are allowed (the file is said to be open for 「update」).
However, when you switch between reading and writing, there must be an
intervening fflush, fsetpos, fseek, or rewind
operation. The current position can be specified for the fsetpos or
fseek operation, if desired.

G. c語言的fputc(c,fp)如何用

仔細查看你的循環語句內部的指針

H. C語言fputc函數總出現亂碼

你計算數列的各項的時候有問題,'1' 的ASCII碼是49,所以兩個相加就是 98,而這已經是字元 b 的ASCII碼了,所以修改如下
#include <stdio.h>
#include <stdlib.h>
#define n 10
int main(void)
{
FILE *fp;
int i;
int a1=1,a2=1,a3;

if((fp=fopen("testdata.txt","w"))==NULL)
{ printf("Open fail.\n"); exit(1); }
fprintf(fp,"%d ",a1); fprintf(fp,"%d ",a2);
for(i=3;i<=n;i++)
{
a3=a1+a2;
fprintf(fp,"%d ",a3);
a1=a2; a2=a3;
}
fclose(fp);
system("pause");
return 0;
}

I. c語言中fgetc和getc與fputc和putc的區別是什麼

c語言中fgetc和getc與fputc和putc的區別如下:
fgetc是從數據流中取一個字元,比如從一個打開的文件中取一個字元
fputc是將一個字元送入到一個數據流中,比如王一個打開的文件中寫入一個字元
getc是從鍵盤中獲取一個字元
putc是往屏幕送一個字元

J. C語言對文件操作,用fputs函數不能把字元串寫入文件

讀寫一個字元數據

經過前面的學習,我們學習了fread()、fwrite()函數的操作,這兩個函數都是對一段「內存塊」進行讀寫操作。那麼,C語言還提供了fgetc()、fputc()函數,對文件中的一個字元進行讀寫操作。這些函數的定義如下:

int fgetc(FILE *stream);

函數說明:從stream文件指針所指向的文件讀取1個字元,通過函數的返回值返回。例如:

char c = fgetc(fp);

就是從fp指向的文件,讀取1個字元的數據,通過函數返回值,設置給字元變數c。

int fputc(int c, FILE *stream);

函數說明:把參數c表示的字元,寫入stream文件指針所指向的文件。例如:

char c = 'M';

fputc(c, fp);

就是把參數c表示的字元變數,寫入文件指針fp指向的文件。如下是一個程序測試例子:

可以看到,新建一個test.txt文件,調用fputc()函數,把一個字元寫入到文件中。然後,再重新打開文件,讀取文件的數據,調用fgetc()函數讀取一個字元,得到的數據是剛剛寫入的字元。所以,通過這個例子,我們學習了fgetc()、fputc()函數的操作,對文件進行一個字元的讀寫操作。

3.5 讀寫一行字元數據

C語言提供了fgets()、fputs()函數對文件進行讀寫「一行」的數據,字元串以'\n'字元換行,注意,所謂的「一行」數據,它的最後一個有效字元是』\n』,表示換行符號。字元串的結束符,還是以』\0』為結尾,表示字元串結束符。其中fgets()函數的定義如下:

char *fgets(char *buf, int size, FILE *stream);

函數說明:從stream函數指針所指向的文件中,讀取size-1個位元組到buf緩存,不是讀取size個位元組,因為,buf[ ]緩存的第size個位元組存放字元串結束符,形成一個有效的字元串。

當讀取到換行符時,或者到達文件末尾時,結束文件的讀取操作。

返回值:讀取數據成功,返回存儲數據的緩存地址,就是參數buf的地址。如果讀取數據失敗,返回NULL。例如,讀取文件完,沒有數據可以再讀取,則返回NULL。

int fputs(const char *buf, FILE *stream);

函數說明:把參數buf指針指向的字元串,寫入到stream指向的文件。參數buf是一個字元串指針,必須指向一個合法的字元串。合法的字元串是以字元串結束符'\0'結束,表示一個字元串的結尾。

返回值:寫入數據成功,返回成功寫入的字元個數。失敗返回EOF標記。

如下是一個程序測試例子:

程序運行結果如下:

可以看到,程序調用fputs()函數,往打開的test.txt文件寫入數據。直接寫入一個字元串。然後,關閉文件,再重新打開文件。調用fgets()函數讀取數據,讀取數據的時候,遇到回車換行的字元'\n',表示一行數據,那麼,就返回讀取到的一行數據。

在實際的項目開發過程中,fgets()函數非常有用。例如,我們定義一個config.txt文件,裡面存放一些系統的配置信息,文件的格式如下:

cat /etc/config.txt

sys_pwd=123456

ApCliAuthMode=WPA2PSK

ApCliEncrypType=AES

ApCliChannel=1

ApCliDefaultKeyID=1

那麼,文件的配置信息是一行一行數據,所以,可以用fgets()函數,快速讀取出每一行系統配置信息。

熱點內容
電腦當作伺服器出租 發布:2025-01-09 20:45:27 瀏覽:579
霸氣網站源碼 發布:2025-01-09 20:43:18 瀏覽:191
雙開助手安卓怎麼下載 發布:2025-01-09 20:42:40 瀏覽:466
我的世界外置登錄在伺服器如何顯示皮膚 發布:2025-01-09 20:18:36 瀏覽:284
一個文件夾一個窗口 發布:2025-01-09 20:02:08 瀏覽:480
java的indexof 發布:2025-01-09 19:51:14 瀏覽:611
光遇ios國際服怎麼登錄安卓 發布:2025-01-09 19:44:24 瀏覽:779
手機如何破解無線密碼 發布:2025-01-09 19:36:52 瀏覽:50
java貓 發布:2025-01-09 19:35:13 瀏覽:132
linux埠號命令 發布:2025-01-09 19:21:55 瀏覽:532