fputc和putc和putchar函數(shù)的用法
創(chuàng)新互聯(lián)是一家專(zhuān)注于成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),睢寧縣網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:睢寧縣等地區(qū)。睢寧縣做網(wǎng)站價(jià)格咨詢(xún):13518219792
putchar(ch) 相當(dāng)于 putc(ch,stdout);
putc()與fputc()等價(jià)。不同之處為:當(dāng)putc函數(shù)被定義為宏時(shí),它可能多次計(jì)算stream的值。
關(guān)于fputc():
原型:int fputc(char ch,FILE*fp)
功能:在fp所指向的文件的當(dāng)前讀寫(xiě)位置寫(xiě)入一個(gè)字符。寫(xiě)入字符成功則函數(shù)返回值為該字符的ASIIC值,寫(xiě)入字符不成功則返回值為EOF。
向文件寫(xiě)入一個(gè)字符后,文件讀寫(xiě)位置指針向后移動(dòng)一個(gè)字節(jié)。
與putc一樣一般用法為“fputc(ch,fp)”,包含在頭文件“stdio.h”中。
用 法: int putc(char ch, FILE *fp);
與putc區(qū)別程序例:
#include stdio.h
int main(void)
{
char msg[] = "Hello world\n";
int i = 0;
while (msg[i])
putc(msg[i++],stdout);
return 0;
}
fputc——這個(gè)函數(shù)輸入學(xué)號(hào)不太方便,因?yàn)樗淮沃徊僮饕粋€(gè)字符。你可以用fputs或fprintf等函數(shù)。
你的while()后面的分號(hào)掉了,所以每個(gè)字符中間穿插了'\0'
而visual studio 13 在默認(rèn)GBK內(nèi)碼頁(yè)時(shí)默認(rèn)輸出'\0' 用一個(gè)空格代替
(相較于unix就不會(huì)產(chǎn)生輸出)
#include?stdio.h
#include?stdlib.h
static?void?Char_IO(void);
int?main(int?argc,?char?*argv[])
{
Char_IO();
return?EXIT_SUCCESS;
}
static?void?Char_IO(void)
{
const?char?*str?=?"Hello?World!",
*path?=?"D:/臨時(shí)下載/chario.txt";
FILE?*fp;
if((fp?=?fopen(path,?"w"))?==?NULL)
return;
while(fputc(*str++,?fp))?continue;
fclose(fp);
if((fp?=?fopen(path,?"r"))?!=?NULL)
{
int?ch;
while((ch?=?getc(fp))?!=?EOF)
putchar(ch);
putchar('\n');
fclose(fp);
}
}
就是輸入一個(gè)打出一個(gè)。putchar()括號(hào)里面的應(yīng)該填一個(gè)字符或者字符數(shù)組名,比如a[0]
而10就是換行的ASCII碼就是換行。相當(dāng)于“\n“
]
函數(shù)fputc()的功能:將字符ch輸出到fp所指向的文件中.若成功則返回該字符;否則返回EOF