📄 ocilib_8h-source.html
字号:
<a name="l00307"></a>00307 <span class="comment">/* Charset mode */</span><a name="l00308"></a>00308 <a name="l00309"></a>00309 <span class="preprocessor">#ifdef OCI_CHARSET_UNICODE</span><a name="l00310"></a>00310 <span class="preprocessor"></span><span class="preprocessor">#undef OCI_CHARSET_ANSI</span><a name="l00311"></a>00311 <span class="preprocessor"></span><span class="preprocessor">#undef OCI_CHARSET_MIXED</span><a name="l00312"></a>00312 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00313"></a>00313 <span class="preprocessor"></span><a name="l00314"></a>00314 <span class="preprocessor">#ifdef OCI_CHARSET_MIXED</span><a name="l00315"></a>00315 <span class="preprocessor"></span><span class="preprocessor">#undef OCI_CHARSET_ANSI</span><a name="l00316"></a>00316 <span class="preprocessor"></span><span class="preprocessor">#undef OCI_CHARSET_UNICODE</span><a name="l00317"></a>00317 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00318"></a>00318 <span class="preprocessor"></span><a name="l00319"></a>00319 <span class="preprocessor">#ifdef OCI_CHARSET_ANSI</span><a name="l00320"></a>00320 <span class="preprocessor"></span><span class="preprocessor">#undef OCI_CHARSET_MIXED</span><a name="l00321"></a>00321 <span class="preprocessor"></span><span class="preprocessor">#undef OCI_CHARSET_UNICODE</span><a name="l00322"></a>00322 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00323"></a>00323 <span class="preprocessor"></span><a name="l00324"></a>00324 <span class="preprocessor">#if !defined(OCI_CHARSET_ANSI) && !defined(OCI_CHARSET_MIXED) && !defined(OCI_CHARSET_UNICODE)</span><a name="l00325"></a>00325 <span class="preprocessor"></span><span class="preprocessor">#define OCI_CHARSET_ANSI</span><a name="l00326"></a>00326 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00327"></a>00327 <span class="preprocessor"></span><a name="l00328"></a>00328 <span class="comment">/* Calling convention */</span><a name="l00329"></a>00329 <a name="l00330"></a>00330 <span class="preprocessor">#ifndef OCI_API</span><a name="l00331"></a>00331 <span class="preprocessor"></span><span class="preprocessor">#define OCI_API </span><a name="l00332"></a>00332 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00333"></a>00333 <span class="preprocessor"></span><a name="l00334"></a>00334 <span class="comment">/* Build mode */</span><a name="l00335"></a>00335 <a name="l00336"></a>00336 <span class="preprocessor">#ifndef OCI_EXPORT</span><a name="l00337"></a>00337 <span class="preprocessor"></span><span class="preprocessor">#define OCI_EXPORT </span><a name="l00338"></a>00338 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00339"></a>00339 <span class="preprocessor"></span><a name="l00454"></a>00454 <span class="comment">/* Unicode mode */</span><a name="l00455"></a>00455 <a name="l00456"></a>00456 <span class="preprocessor">#ifdef OCI_CHARSET_UNICODE</span><a name="l00457"></a>00457 <span class="preprocessor"></span><span class="preprocessor"> #define OCI_METADATA_UNICODE</span><a name="l00458"></a>00458 <span class="preprocessor"></span><span class="preprocessor"> #define OCI_USERDATA_UNICODE</span><a name="l00459"></a>00459 <span class="preprocessor"></span><span class="preprocessor"> #define OCI_INCLUDE_WCHAR</span><a name="l00460"></a>00460 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00461"></a>00461 <span class="preprocessor"></span><a name="l00462"></a>00462 <span class="preprocessor">#ifdef OCI_CHARSET_MIXED</span><a name="l00463"></a>00463 <span class="preprocessor"></span><span class="preprocessor"> #define OCI_USERDATA_UNICODE</span><a name="l00464"></a>00464 <span class="preprocessor"></span><span class="preprocessor"> #define OCI_INCLUDE_WCHAR</span><a name="l00465"></a>00465 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00466"></a>00466 <span class="preprocessor"></span><a name="l00467"></a>00467 <span class="comment">/* include wchar header if needed */</span><a name="l00468"></a>00468 <a name="l00469"></a>00469 <span class="preprocessor">#ifdef OCI_INCLUDE_WCHAR</span><a name="l00470"></a>00470 <span class="preprocessor"></span><span class="preprocessor">#include <wctype.h></span><a name="l00471"></a>00471 <a name="l00472"></a>00472 <span class="preprocessor"> #if (_MSC_VER < 1300) && defined(__cplusplus)</span><a name="l00473"></a>00473 <span class="preprocessor"></span> <span class="keyword">extern</span> <span class="stringliteral">"C++"</span> {<a name="l00474"></a>00474 <span class="preprocessor"> #endif </span><a name="l00475"></a>00475 <span class="preprocessor"></span><span class="preprocessor"> #include <wchar.h></span><a name="l00476"></a>00476 <span class="preprocessor"> #if (_MSC_VER < 1300) && defined(__cplusplus)</span><a name="l00477"></a>00477 <span class="preprocessor"></span> }<a name="l00478"></a>00478 <span class="preprocessor"> #endif</span><a name="l00479"></a>00479 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00480"></a>00480 <span class="preprocessor"></span><a name="l00481"></a>00481 <span class="comment">/* Charset macros */</span><a name="l00482"></a>00482 <a name="l00483"></a>00483 <span class="preprocessor">#ifdef OCI_METADATA_UNICODE</span><a name="l00484"></a>00484 <span class="preprocessor"></span><span class="preprocessor"> #define MT(x) L ## x</span><a name="l00485"></a>00485 <span class="preprocessor"></span><span class="preprocessor"> #define mtext wchar_t</span><a name="l00486"></a>00486 <span class="preprocessor"></span><span class="preprocessor">#else</span><a name="l00487"></a>00487 <span class="preprocessor"></span><span class="preprocessor"> #define MT(x) x</span><a name="l00488"></a>00488 <span class="preprocessor"></span><span class="preprocessor"> #define mtext char</span><a name="l00489"></a>00489 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00490"></a>00490 <span class="preprocessor"></span><a name="l00491"></a>00491 <span class="preprocessor">#ifdef OCI_USERDATA_UNICODE</span><a name="l00492"></a>00492 <span class="preprocessor"></span><span class="preprocessor"> #define DT(x) L ## x</span><a name="l00493"></a>00493 <span class="preprocessor"></span><span class="preprocessor"> #define dtext wchar_t</span><a name="l00494"></a>00494 <span class="preprocessor"></span><span class="preprocessor">#else</span><a name="l00495"></a>00495 <span class="preprocessor"></span><span class="preprocessor"> #define DT(x) x</span><a name="l00496"></a>00496 <span class="preprocessor"></span><span class="preprocessor"> #define dtext char</span><a name="l00497"></a>00497 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00498"></a>00498 <span class="preprocessor"></span><a name="l00499"></a>00499 <span class="comment">/*</span><a name="l00500"></a>00500 <span class="comment"> For ISO conformance, strdup/wcsdup/stricmp/strncasecmp are not used.</span><a name="l00501"></a>00501 <span class="comment"> All wide char routines are "officialy" C99. </span><a name="l00502"></a>00502 <span class="comment"> but we weed an ansi equivalent to swprintf => ocisprintf </span><a name="l00503"></a>00503 <span class="comment"> OCILIB exports the following helper functions</span><a name="l00504"></a>00504 <span class="comment"></span><a name="l00505"></a>00505 <span class="comment">*/</span><a name="l00506"></a>00506 <a name="l00507"></a>00507 OCI_EXPORT <span class="keywordtype">int</span> ocisprintf(<span class="keywordtype">char</span> *str, <span class="keywordtype">int</span> size, <span class="keyword">const</span> <span class="keywordtype">char</span> *format, ...);<a name="l00508"></a>00508 OCI_EXPORT <span class="keywordtype">char</span> * ocistrdup(<span class="keyword">const</span> <span class="keywordtype">char</span> * src);<a name="l00509"></a>00509 OCI_EXPORT <span class="keywordtype">int</span> ocistrcasecmp(<span class="keyword">const</span> <span class="keywordtype">char</span> *str1, <span class="keyword">const</span> <span class="keywordtype">char</span> *str2);<a name="l00510"></a>00510 <a name="l00511"></a>00511 <span class="preprocessor">#ifdef OCI_INCLUDE_WCHAR</span><a name="l00512"></a>00512 <span class="preprocessor"></span>OCI_EXPORT <span class="keywordtype">wchar_t</span> * ociwcsdup(<span class="keyword">const</span> <span class="keywordtype">wchar_t</span> * src);<a name="l00513"></a>00513 OCI_EXPORT <span class="keywordtype">int</span> ociwcscasecmp(<span class="keyword">const</span> <span class="keywordtype">wchar_t</span> *str1, <span class="keyword">const</span> <span class="keywordtype">wchar_t</span> *str2);<a name="l00514"></a>00514 <span class="preprocessor">#endif</span><a name="l00515"></a>00515 <span class="preprocessor"></span><a name="l00516"></a>00516 <span class="comment">/* special defines for Microsoft C runtime that is not C ISO compliant */</span><a name="l00517"></a>00517 <a name="l00518"></a>00518 <span class="preprocessor">#ifdef _MSC_VER</span><a name="l00519"></a>00519 <span class="preprocessor"></span><span class="preprocessor"> #ifdef OCI_INCLUDE_WCHAR</span><a name="l00520"></a>00520 <span class="preprocessor"></span><span class="preprocessor"> #if (_MSC_VER < 1300) </span><a name="l00521"></a>00521 <span class="preprocessor"></span><span class="preprocessor"> #define swprintf _snwprintf </span><a name="l00522"></a>00522 <span class="preprocessor"></span><span class="preprocessor"> #endif</span><a name="l00523"></a>00523 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00524"></a>00524 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00525"></a>00525 <span class="preprocessor"></span><a name="l00526"></a>00526 <span class="comment">/* helpers mapping macros */</span><a name="l00527"></a>00527 <a name="l00528"></a>00528 <span class="preprocessor">#ifdef OCI_METADATA_UNICODE</span><a name="l00529"></a>00529 <span class="preprocessor"></span><span class="preprocessor"> #define mtsdup ociwcsdup</span><a name="l00530"></a>00530 <span class="preprocessor"></span><span class="preprocessor"> #define mtscpy wcscpy</span><a name="l00531"></a>00531 <span class="preprocessor"></span><span class="preprocessor"> #define mtsncpy wcsncpy</span><a name="l00532"></a>00532 <span class="preprocessor"></span><span class="preprocessor"> #define mtscat wcscat</span><a name="l00533"></a>00533 <span class="preprocessor"></span><span class="preprocessor"> #define mtsncat wcsncat</span><a name="l00534"></a>00534 <span class="preprocessor"></span><span class="preprocessor"> #define mtslen wcslen</span><a name="l00535"></a>00535 <span class="preprocessor"></span><span class="preprocessor"> #define mtscmp wcscmp</span><a name="l00536"></a>00536 <span class="preprocessor"></span><span class="preprocessor"> #define mtscasecmp ociwcscasecmp</span><a name="l00537"></a>00537 <span class="preprocessor"></span><span class="preprocessor"> #define mtsprintf swprintf</span><a name="l00538"></a>00538 <span class="preprocessor"></span><span class="preprocessor"> #define mtstol wcstol</span><a name="l00539"></a>00539 <span class="preprocessor"></span><span class="preprocessor">#else</span><a name="l00540"></a>00540 <span class="preprocessor"></span><span class="preprocessor"> #define mtsdup ocistrdup</span><a name="l00541"></a>00541 <span class="preprocessor"></span><span class="preprocessor"> #define mtscpy strcpy</span><a name="l00542"></a>00542 <span class="preprocessor"></span><span class="preprocessor"> #define mtsncpy strncpy</span><a name="l00543"></a>00543 <span class="preprocessor"></span><span class="preprocessor"> #define mtscat strcat</span>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -