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

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

一文刨析C/C++全局常量的定義-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)專注于廣昌企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。廣昌網(wǎng)站建設(shè)公司,為廣昌等地區(qū)提供建站服務(wù)。全流程按需求定制制作,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

目錄

文件特性常量

文件常量

堆常量

EOF,?WEOF

errno?常量

數(shù)學(xué)常量

數(shù)學(xué)錯誤常量

共享常量

轉(zhuǎn)換模式常量

文件讀/寫訪問常量

NULL?(CRT)

stdin,?stdout,?stderr


文件特性常量

語法

#include

備注

這些常量指定由函數(shù)指定的文件或目錄的當(dāng)前特性。

特性可以通過以下清單常量表示:

返回的常量說明
_A_ARCH存檔。 每當(dāng)通過 BACKUP 命令更改或清除文件時進行設(shè)置。 值:0x20
_A_HIDDEN隱藏文件。 使用 DIR 命令時通常不可見,除非使用 /AH 選項。 返回有關(guān)具有此屬性的普通文件和文件的信息。 值:0x02
_A_NORMAL正常。 可以不受限制地讀取或?qū)懭氲奈募?值:0x00
_A_RDONLY只讀。 無法打開文件進行寫入,并且無法創(chuàng)建同名的文件。 值:0x01
_A_SUBDIR子目錄。 值:0x10
_A_SYSTEM系統(tǒng)文件。 使用 DIR 命令時通常不可見,除非使用 /AS 選項。 值:0x04

可使用 OR 運算符 (|) 組合多個常量。

文件常量 語法
#include
備注

由這些常量中的一個或多個常量構(gòu)成的整數(shù)表達式確定允許進行的讀取或?qū)懭氩僮鞯念愋汀?它由將一個或多個常量與翻譯模式常量組合在一起形成。

文件常量如下所示:

返回的常量說明
_O_APPEND在每次執(zhí)行寫入操作前,將文件指針重新定位到文件尾。
_O_CREAT創(chuàng)建并打開用于寫入的新文件;如果存在?filename文件,則常量無效。
_O_EXCL如果由?filename指定的文件存在,則返回一個錯誤值。 僅在與?_O_CREAT一起使用時適用。
_O_RDONLY打開文件以僅讀取;如果提供此標(biāo)志,?_O_RDWR則?_O_WRONLY無法提供。
_O_RDWR打開用于讀取和寫入的文件;如果提供此標(biāo)志,?_O_RDONLY則?_O_WRONLY無法提供。
_O_TRUNC打開現(xiàn)有文件并將其截斷為零長度;此文件必須具有寫入權(quán)限。 銷毀此文件的內(nèi)容。 如果給定此標(biāo)志,則無法指定?_O_RDONLY。
_O_WRONLY僅打開用于寫入的文件;如果提供此標(biāo)志,?_O_RDONLY則?_O_RDWR無法提供。
堆常量? 語法
#include
備注

這些常量提供表示堆狀態(tài)的返回值。

返回的常量含義
_HEAPBADBEGIN找不到初始標(biāo)頭信息或無效。
_HEAPBADNODE找到錯誤節(jié)點,或堆已損壞。
_HEAPBADPTR_pentry_HEAPINFO結(jié)構(gòu)字段不包含指向堆的有效指針, (_heapwalk例程僅) 。
_HEAPEMPTY堆尚未初始化。
_HEAPEND已成功到達堆的結(jié)尾處(僅限?_heapwalk例程)。
_HEAPOK堆是一致的(僅限?_heapset和?_heapchk例程)。 到目前為止沒有錯誤;?_HEAPINFO結(jié)構(gòu)僅包含有關(guān)下一個條目 (_heapwalk例程的信息) 。

EOF,?WEOF語法
#include
備注

EOF當(dāng)文件結(jié)束 (或在某些情況下,遇到錯誤) 時,I/O 例程將返回。

WEOF生成返回值(類型)?wint_t用于向?qū)捔髂┪舶l(fā)出信號,或報告錯誤條件。

errno常量 語法
#include
備注

常?errno量是針對?errno?各種錯誤條件分配給的值。

ERRNO.H包含?errno值的定義。 但是,并非?ERRNO.H中給定的提供定義都可用于 32 位 Windows 操作系統(tǒng)。?ERRNO.H中的某些值的存在是為了保持與 UNIX 系列操作系統(tǒng)的兼容性。 32 位 Windows 操作系統(tǒng)中的?errno值是 XENIX 系統(tǒng)中的?errno值的子集。

errno值不一定與由從 Windows 操作系統(tǒng)進行的系統(tǒng)調(diào)用返回的實際錯誤代碼相同。 若要訪問實際操作系統(tǒng)錯誤代碼,請使用包含此值的?_doserrno?變量。

支持以下?errno值:

返回的常量說明
E2BIG自變量列表太長。7
EACCES權(quán)限被拒絕。 文件的權(quán)限設(shè)置不允許指定訪問。 嘗試訪問文件 (,在某些情況下,目錄) 與文件的屬性不兼容。

例如,嘗試從未打開的文件讀取時,可能會發(fā)生錯誤。 或者,嘗試打開現(xiàn)有只讀文件進行寫入,或打開目錄而不是文件。 在 MS-DOS 操作系統(tǒng)版本 3.0 以及更高版本下,EACCES也可能表示鎖定或共享沖突。

在嘗試重命名文件或目錄或者刪除現(xiàn)有目錄時也可能發(fā)生錯誤。
13
EAGAIN沒有更多進程、沒有足夠內(nèi)存或達到大嵌套級別。 嘗試創(chuàng)建新進程失敗,因為沒有更多的進程槽,或者沒有足夠的內(nèi)存,或者達到大嵌套級別。11
EBADF文件編號錯誤。 有兩個可能的原因:1) 指定的文件描述符不是有效值或未引用打開的文件。 2) 嘗試寫入到已打開進行只讀訪問的文件或設(shè)備。9
EBUSY設(shè)備或資源忙碌。16
ECHILD沒有生成的進程。10
EDEADLK將會發(fā)生資源死鎖。36
EDEADLOCK與?EDEADLK相同,以便與早期的 Microsoft C 版本兼容。36
EDOM數(shù)學(xué)自變量。 數(shù)學(xué)函數(shù)的參數(shù)不在函數(shù)的域中。33
EEXIST存在文件。 嘗試創(chuàng)建已存在的文件。 例如,在?_open調(diào)用中指定?_O_CREAT和?_O_EXCL標(biāo)志,但命名的文件已存在。17
EFAULT地址錯誤。14
EFBIG文件太大。27
EILSEQ非法字節(jié)序列(例如,在?MBCS字符串中)。42
EINTR函數(shù)中斷。4
EINVAL無效的參數(shù)。 為某個函數(shù)的自變量之一給定了無效值。 例如,當(dāng)通過調(diào)用?fseek) 將文件指針定位到源時給定的值位于文件開頭之前 (。22
EIOI/O 錯誤。5
EISDIR是目錄。21
EMFILE打開的文件太多。 沒有更多文件說明符可用,因此無法打開更多文件。24
EMLINK鏈接太多。31
ENAMETOOLONG文件名太長。38
ENFILE系統(tǒng)中打開的文件太多。23
ENODEV沒有此設(shè)備。19
ENOENT沒有此文件或目錄。 指定的文件或目錄不存在或找不到。 每當(dāng)指定的文件不存在或路徑的組件未指定現(xiàn)有目錄時,可能會發(fā)生此消息。2
ENOEXEC執(zhí)行格式錯誤。 嘗試執(zhí)行無效的可執(zhí)行文件或具有無效可執(zhí)行文件格式的文件。8
ENOLCK無可用鎖。39
ENOMEM無法為嘗試的運算符提供足夠的內(nèi)存。 例如,當(dāng)內(nèi)存不足可用于執(zhí)行子進程或無法滿足調(diào)用中的?_getcwd分配請求時,可能會出現(xiàn)此消息。12
ENOSPC設(shè)備上沒有剩余空間。 設(shè)備上沒有可供寫入的其他空間(例如,當(dāng)磁盤已滿時)。28
ENOSYS功能不受支持。40
ENOTDIR不是目錄。20
ENOTEMPTY目錄不為空。41
ENOTTY不適當(dāng)?shù)?I/O 控制操作。25
ENXIO沒有此設(shè)備或地址。6
EPERM不允許執(zhí)行該操作。1
EPIPE管道損壞。32
ERANGE結(jié)果太大。 數(shù)學(xué)函數(shù)的自變量太大,造成結(jié)果中的有效位部分或全部丟失。 當(dāng)參數(shù)大于預(yù)期值時(例如,當(dāng)?_getcwd的?buffer參數(shù)大于預(yù)期值時),在其他函數(shù)中也可能發(fā)生此錯誤。34
EROFS只讀文件系統(tǒng)。30
ESPIPE搜尋無效。29
ESRCH沒有此進程。3
EXDEV跨設(shè)備鏈接。 嘗試將文件移至不同的設(shè)備(使用?rename函數(shù))。18
STRUNCATE字符串復(fù)制或串聯(lián)導(dǎo)致字符串被截斷。 請參閱?_TRUNCATE。80

下列值支持 POSIX 的兼容性:

返回的常量說明
EADDRINUSE正在使用的地址。100
EADDRNOTAVAIL地址不可用。101
EAFNOSUPPORT地址系列不受支持。102
EALREADY連接已經(jīng)進行。103
EBADMSG錯誤消息。104
ECANCELED操作已取消。105
ECONNABORTED連接已中止。106
ECONNREFUSED連接被拒絕。107
ECONNRESET連接重置。108
EDESTADDRREQ需要目標(biāo)地址。109
EHOSTUNREACH無法訪問主機。110
EIDRM已刪除標(biāo)識符。111
EINPROGRESS操作正在進行。112
EISCONN已連接。113
ELOOP符號鏈接級別過多。114
EMSGSIZE消息大小。115
ENETDOWN網(wǎng)絡(luò)中斷。116
ENETRESET網(wǎng)絡(luò)重置。117
ENETUNREACH無法訪問網(wǎng)絡(luò)。118
ENOBUFS無緩沖空間。119
ENODATA無可用消息。120
ENOLINK無鏈接。121
ENOMSG無消息。122
ENOPROTOOPT無協(xié)議選項。123
ENOSR無流資源。124
ENOSTR不是流。125
ENOTCONN未連接。126
ENOTRECOVERABLE狀態(tài)不可恢復(fù)。127
ENOTSOCK不是套接字。128
ENOTSUP不支持。129
EOPNOTSUPP不支持操作。130
EOTHER其他。131
EOVERFLOW值太大。132
EOWNERDEAD所有者亡。133
EPROTO協(xié)議錯誤。134
EPROTONOSUPPORT協(xié)議不受支持。135
EPROTOTYPE協(xié)議類型錯誤。136
ETIME流超時。137
ETIMEDOUT已超時。138
ETXTBSY文本文件繁忙。139
EWOULDBLOCK操作將阻塞。140

數(shù)學(xué)常量

常見的數(shù)學(xué)常量提供了多個預(yù)定義的預(yù)處理器宏。

語法
#define _USE_MATH_DEFINES // for C++
#include#define _USE_MATH_DEFINES // for C
#include
備注

下列符號定義了其所指示的表達式的值:

符號表達式
M_Ee2.71828182845904523536
M_LOG2Elog2(e)1.44269504088896340736
M_LOG10Elog10(e)0.434294481903251827651
M_LN2ln(2)0.693147180559945309417
M_LN10ln(10)2.30258509299404568402
M_PIpi3.14159265358979323846
M_PI_2pi/21.57079632679489661923
M_PI_4pi/40.785398163397448309616
M_1_PI1/pi0.318309886183790671538
M_2_PI2/pi0.636619772367581343076
M_2_SQRTPI2/sqrt(pi)1.12837916709551257390
M_SQRT2sqrt(2)1.41421356237309504880
M_SQRT1_21/sqrt(2)0.707106781186547524401

數(shù)學(xué)常量未在標(biāo)準(zhǔn) C/C++ 中定義。 若要使用它們,必須先定義?_USE_MATH_DEFINES,然后包括?或?。

在“發(fā)布模式”下生成項目時,文件?包含?。 如果在同時包含?的項目中使用了一個或多個數(shù)學(xué)常量,則在包含?前必須先定義?_USE_MATH_DEFINES。


數(shù)學(xué)錯誤常量 語法
#include
備注

運行庫的數(shù)學(xué)例程可生成數(shù)學(xué)錯誤常量。

如下所述,這些錯誤對應(yīng)于 MATH.H 中定義的異常類型,并在發(fā)生數(shù)學(xué)錯誤后由?_matherr函數(shù)返回。

返回的常量含義
_DOMAIN函數(shù)的自變量位于函數(shù)域的外部。
_OVERFLOW結(jié)果太大而無法在函數(shù)的返回類型中表示。
_PLOSS發(fā)生了有效位部分丟失的情況。
_SING自變量奇異性:函數(shù)的自變量具有非法值。 (例如,將值 0 傳遞到需要非零值的函數(shù)。)
_TLOSS發(fā)生了有效位完全丟失的情況。
_UNDERFLOW結(jié)果太小而無法表示。

共享常量

文件共享模式的常量。

語法
#include
備注

該?shflag參數(shù)確定共享模式,該模式由一個或多個清單常量組成。 這些常量可以與?oflag參數(shù)結(jié)合使用, (請參閱?文件常量) 。

下表列出了常量及其含義:

返回的常量含義
_SH_DENYRW拒絕對文件的讀寫訪問權(quán)限
_SH_DENYWR拒絕對文件的寫訪問權(quán)限
_SH_DENYRD拒絕對文件的讀訪問權(quán)限
_SH_DENYNO允許讀寫訪問權(quán)限
_SH_SECURE設(shè)置安全模式(共享讀取、獨占寫入訪問權(quán)限)。

轉(zhuǎn)換模式常量 語法
#include
備注

_O_BINARY和?_O_TEXT清單常數(shù)將決定文件(_open和?_sopen)的轉(zhuǎn)換模式或流 (_setmode) 的轉(zhuǎn)換模式。

允許的值為:

說明
_O_TEXT在文本(已轉(zhuǎn)換)模式下打開文件。 輸入時回車符–換行符 (CR-LF) 組合將轉(zhuǎn)換為單個換行符 (LF)。 輸出時換行符將轉(zhuǎn)換為 CR-LF 組合。 CTRL+Z 也將在輸入時解釋為文件尾字符。 在打開以進行讀取或讀取和寫入的文件中,fopen將檢查文件末尾的 Ctrl+Z 并在可能的情況下將其移除。 由于使用?fseek和?ftell函數(shù)在以 CTRL+Z 結(jié)尾的文件內(nèi)移動可能會導(dǎo)致?fseek在文件末尾附近行為不當(dāng)而被刪除。
_O_BINARY在二進制(未轉(zhuǎn)換)模式下打開文件。 禁止上述的轉(zhuǎn)換。
_O_RAW與?_O_BINARY相同。 支持 C 2.0 兼容性。

文件讀/寫訪問常量 語法
#include
備注

這些常量指定為文件請求的訪問類型(“a”、“r”或“w”)。 可以使用訪問類型來指定轉(zhuǎn)換模式(“b”或“t”)和?模式(“c”或“n”)。

訪問類型如下表中所述:

訪問類型說明
"r"打開以便讀取。 如果文件不存在或找不到,則打開該文件的調(diào)用將失敗。
"w"打開用于寫入的空文件。 如果給定文件存在,則其內(nèi)容會被銷毀。
"a"打開以在文件末尾寫入 (追加) ;如果文件不存在,請先創(chuàng)建該文件。 所有寫入操作均在文件末尾發(fā)生。 盡管可以使用或rewind重新定位fseek文件指針,但在執(zhí)行任何寫入操作之前,它始終會移回到文件的末尾。
"r+"打開以便讀取和寫入。 如果文件不存在或找不到,則打開該文件的調(diào)用將失敗。
"w+"打開用于讀取和寫入的空文件。 如果給定文件存在,則其內(nèi)容會被銷毀。
"a+"與?“”a相同,?但也允許讀取。

指定“r+”、“w+”或“a+”類型時,允許讀取和寫入(文件將處于打開狀態(tài)以進行“更新”)。 但是,在讀取與寫入之間切換時,必須有中間?fflush、fsetpos、fseek或?rewind操作。 可以為?fsetpos或?fseek操作指定當(dāng)前位置。


NULL(CRT)

NULL是用于許多指針操作和函數(shù)的 null 指針值。 它等效于 0。?NULL在以下頭文件中定義:CRTDBG。H、LOCALE。H、STDDEF。H、STDIO。H、STDLIB。H、STRING。H、TCHAR。H,時間。H 和 WCHAR.H.

stdin,?stdout,?stderr語法
FILE *stdin;
FILE *stdout;
FILE *stderr;
#include
備注

stdinstdoutstderr全局常量指針是輸入、輸出和錯誤輸出的標(biāo)準(zhǔn)流。

默認(rèn)情況下,標(biāo)準(zhǔn)輸入是從鍵盤讀取的,而標(biāo)準(zhǔn)輸出和錯誤輸出將打印到屏幕。

下列流指針可用于訪問標(biāo)準(zhǔn)流:

指針Stream
stdin標(biāo)準(zhǔn)輸入
stdout標(biāo)準(zhǔn)輸出
stderr標(biāo)準(zhǔn)錯誤

這些指針可用作函數(shù)自變量。 一些函數(shù)(如?getchar?和?putchar)將自動使用?stdin和?stdout。

這些指針是常量,不能分配新值。?freopen?函數(shù)可用于將流重定向到磁盤文件或其他設(shè)備。 操作系統(tǒng)使您可以在命令級別重定向程序的標(biāo)準(zhǔn)輸入和輸出。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


當(dāng)前題目:一文刨析C/C++全局常量的定義-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://weahome.cn/article/jeecs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部