真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語言unget函數(shù) ungetc

C語言 printf和scanf的實現(xiàn)

/* Write formatted output to stdout from the format string FORMAT. */

成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司是一家服務(wù)多年做網(wǎng)站建設(shè)策劃設(shè)計制作的公司,為廣大用戶提供了網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計,成都網(wǎng)站設(shè)計,廣告投放,成都做網(wǎng)站選成都創(chuàng)新互聯(lián)公司,貼合企業(yè)需求,高性價比,滿足客戶不同層次的需求一站式服務(wù)歡迎致電。

/* VARARGS1 */

int

__printf (const char *format, ...)

{

va_list arg;

int done;

va_start (arg, format);

done = vfprintf (stdout, format, arg);

va_end (arg);

return done;

}

int _scanf(char (*get)(void), void (*unget)(char), CONST char *fmt, va_list va)

{

int is_long, c, base;

char *vp;

char s[MAX+1];

int converted = 0;

while (c = *fmt++)

{

if (c == '%')

{

if (*fmt == 'l')

{

is_long = 1;

fmt++;

}

else

is_long = 0;

vp = va_arg(va, void *);

switch (*fmt)

{

case 'c':

*(char *)vp = get();

converted++;

break;

case 'o': base = 8; goto read_strtoul;

case 'u': base = 10; goto read_strtoul;

case 'X':

case 'x': base = 16;

read_strtoul:

converted++;

ReadInteger(s, get, unget, base);

if (is_long)

*(unsigned long *)vp = strtoul(s, 0, base);

else

*(unsigned *)vp = strtoul(s, 0, base);

break;

case 'd':

converted++;

ReadInteger(s, get, unget, 10);

if (is_long)

*(long *)vp = strtol(s, 0, 10);

else

*(int *)vp = strtol(s, 0, 10);

break;

case 's':

converted++;

ReadString(vp, get, unget);

break;

default:

puts("unsupported format");

break;

}

fmt++;

}

else if (isspace(c))

{

while ((c = get()) isspace(c))

;

unget(c);

}

else if (get() != c)

break;

}

return converted;

}

C語言中如何輸出unicode編碼

Unicode編碼

在計算機(jī)科學(xué)領(lǐng)域中,Unicode(統(tǒng)一碼、萬國碼、單一碼、標(biāo)準(zhǔn)萬國碼)是業(yè)界的一種標(biāo)準(zhǔn),它可以使電腦得以呈現(xiàn)世界上數(shù)十種文字的系統(tǒng)。Unicode是基于通用字符集(Universal Character Set)的標(biāo)準(zhǔn)來發(fā)展,并且同時也以書本的形式(The Unicode Standard,目前第五版由Addison-Wesley Professional出版,ISBN-10: 0321480910)對外發(fā)表。Unicode包含了超過十萬個字符(在2005年,Unicode的第十萬個字符被采納且認(rèn)可成為標(biāo)準(zhǔn)之一)、一組可用以作為視覺參考的代碼圖表、一套編碼方法與一組標(biāo)準(zhǔn)字符編碼、一套包含了上標(biāo)字、下標(biāo)字等字符特性的列舉等。

Unicode的編碼方式與ISO 10646的通用字符集(Universal Character Set,UCS)概念相對應(yīng),目前實際應(yīng)用的Unicode版本對應(yīng)于UCS-2,使用16位的編碼空間。也就是每個字符占用2個字節(jié)。這樣理論上一共最多可以表示216即65536個字符?;緷M足各種語言的使用。實際上目前版本的Unicode尚未填充滿這16位編碼,保留了大量空間作為特殊使用或?qū)頂U(kuò)展。

C++處理Unicode編碼

為了處理Unicode編碼C++為每個字符處理函數(shù)提供了寬字符(wchar_t)處理函數(shù)。

在ANSI/ISO 9899--1990也就是美國國家為程序設(shè)計語言C指定的標(biāo)準(zhǔn)(也稱為ANSI C)中是這樣定義的:用多個字節(jié)來代表的字符稱之為寬字符,而Unicode只是寬字符編碼的一種實現(xiàn),寬字符并不一定是Unicode。

C語言中輸出unicode編碼可以是用寬字符輸出函數(shù)。

下面是寬字符常用的輸入輸出函數(shù)表:

打印和掃描字符串:

寬字符函數(shù)?????????????????????? 描述

fprintf()/fwprintf()???????????? 使用vararg參量的格式化輸出

fscanf()/fwscanf()???????????? 格式化讀入

printf()????????????????????????????? 使用vararg參量的格式化輸出到標(biāo)準(zhǔn)輸出

scanf()????????????????????????????? 從標(biāo)準(zhǔn)輸入的格式化讀入

sprintf()/swprintf()???????????? 根據(jù)vararg參量表格式化成字符串

sscanf()?????????????????????????? 以字符串作格式化讀入

vfprintf()/vfwprintf()?????????? 使用stdarg參量表格式化輸出到文件

vprintf()???????????????????????????? 使用stdarg參量表格式化輸出到標(biāo)準(zhǔn)輸出

vsprintf()/vswprintf()????????? 格式化stdarg參量表并寫到字符串

輸入和輸出:

寬字符函數(shù)???? 普通C函數(shù)???? 描述

fgetwc()?????????? fgetc()?????????? 從流中讀入一個字符并轉(zhuǎn)換為寬字符

fgetws()?????????? fgets()?????????? 從流中讀入一個字符串并轉(zhuǎn)換為寬字符串

fputwc()?????????? fputc()?????????? 把寬字符轉(zhuǎn)換為多字節(jié)字符并且輸出到標(biāo)準(zhǔn)輸出

fputws()?????????? fputs()?????????? 把寬字符串轉(zhuǎn)換為多字節(jié)字符并且輸出到標(biāo)準(zhǔn)輸出串

getwc()??????????? getc()??????????? 從標(biāo)準(zhǔn)輸入中讀取字符, 并且轉(zhuǎn)換為寬字符

getwchar()?????? getchar()?????? 從標(biāo)準(zhǔn)輸入中讀取字符, 并且轉(zhuǎn)換為寬字符

None?????????????? gets()??????????? 使用fgetws()

putwc()??????????? putc()??????????? 把寬字符轉(zhuǎn)換成多字節(jié)字符并且寫到標(biāo)準(zhǔn)輸出

putwchar()??????? putchar()?????? 把寬字符轉(zhuǎn)換成多字節(jié)字符并且寫到標(biāo)準(zhǔn)輸出

None?????????????? puts()???????????? 使用fputws()

ungetwc()???????? ungetc()???????? 把一個寬字符放回到輸入流中

C語言 如何調(diào)用另一個程序的計算結(jié)果?急!?。。?!

你要知道system的返回值,并非H1.EXE的返回值。

在DOS下,

system()只是做一個調(diào)用其他程序的工作,只要調(diào)用成功就返回0,不成功就返回-1。

它不能得到被調(diào)用的程序的執(zhí)行結(jié)果。

要得到其他程序的執(zhí)行的結(jié)果,要用spawn***()這個家族的函數(shù)。

如果在linux下面

如果你想得到那個返回值可以調(diào)用WEXITSTATUS(status),其中status是system函數(shù)的返回值。

如果你非常想獲取他的返回值,就使用popen函數(shù)。它返回一個FILE*,就好像讀寫文件一樣操作它就是了,不需要另外寫文件讀文件。


標(biāo)題名稱:c語言unget函數(shù) ungetc
文章位置:http://weahome.cn/article/ddosijc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部