<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                接續上篇[C語言基礎及指針⑤動態內存分配](http://www.jianshu.com/p/93db7c692d1b) 字符操作 , 是我們寫程序時 , 最常用的一種操作 , 例如:字符串截取 , 字符串替換 , 字符串轉整數類型等等 , 都是字符操作 , 在java中`String`類就是二三十個方法 , 還有`StringBuffer` , `StringBuilder`等輔助類 。 下面 ,我們就來看看C語言中字符處理的函數 。 ### 一. 字符數組 ```c // 字符數組 void charArray() { // 字符數組 , 可以修改 char c[15] = { 'y','e','s',' ','m','a','n' }; // 字符數組可以直接作為字符串輸出 printf("%s\n", c); // 修改 c[0] = 'a'; printf("修改字符:%s\n", c); } ``` 字符數組 , 本身是一個數組 , 但是也可以作為字符串格式化輸出 , 可以任意替換里面的字符 , 和操作數組是一樣的 。 ### 二. 字符指針 ```c /*字符指針*/ void charPointer() { // 內存連續排列 , 不可修改 char* s = "Never give up"; printf("內存地址:%#x\n", s); printf("-------------------------------\n截取字符\n"); // 截取字符 s += 6; while (*s) { printf("%c", *s); s++; } } ``` 字符指針與字符數組 , 最大的區別是一個定義了就不可以修改 , 一個可以任意修改里面的字符 , 就和`String`和`StringBuilder`一樣 , String定義了就無法增加或修改里面的內容 , 一個是可以增加和修改里面的內容 。 下面就列舉幾個常用的操作: > 字符函數查詢網站: [字符串函數](http://www.kuqin.com/clib/string/strpbrk.html) ### 拼接字符串 ```c /*拼接函數*/ void spliceString() { // 合并后存儲字符的容器 char dest[40] = {'h','e','h','e',' '}; char* c1 = "Never give up "; char* c2 = "I blive you ! "; // 會清除字符數組原有的數據 //strcpy(dest, c1); strcat(dest, c1); strcat(dest, c2); printf("\n拼接字符串:\n%s\n", dest); } ``` ### 查找單個字符 ```c /*查找單個字符*/ void searchChar() { char* str = "I wanna dont kiss you"; char* p = strchr(str, 'd'); if (p) { printf("索引位置:%d\n", p - str); printf("打印: "); str += p - str; while (*str) { printf("%c",*str); str++; } printf("\n"); } else { printf("沒有找到\n"); } } ``` ### 查找字符串 ```c /*查找字符串*/ void sreachChars() { char* str = "落花有意流水無情"; char* handle = "流"; char* p = strstr(str, handle); if (*p) { printf("索引位置:%d\n", p - str); printf("打印: "); str += p - str; printf("%s ---- %s\n", str,p); } else { printf("沒找到\n"); } } ``` ### 字符轉換 ```c /*字符轉換int*/ void strToInt() { char* p = "123"; int toInt = atoi(p); int res = toInt + 123; printf("字符轉換int數值: %d\n", res); } ``` ### 字符轉換函數定義: ```c /-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // // Narrow String to Number Conversions // //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ _Check_return_ _ACRTIMP double __cdecl atof (_In_z_ char const* _String); _Check_return_ _CRT_JIT_INTRINSIC _ACRTIMP int __cdecl atoi (_In_z_ char const* _String); _Check_return_ _ACRTIMP long __cdecl atol (_In_z_ char const* _String); _Check_return_ _ACRTIMP long long __cdecl atoll (_In_z_ char const* _String); _Check_return_ _ACRTIMP __int64 __cdecl _atoi64(_In_z_ char const* _String); _Check_return_ _ACRTIMP double __cdecl _atof_l (_In_z_ char const* _String, _In_opt_ _locale_t _Locale); _Check_return_ _ACRTIMP int __cdecl _atoi_l (_In_z_ char const* _String, _In_opt_ _locale_t _Locale); _Check_return_ _ACRTIMP long __cdecl _atol_l (_In_z_ char const* _String, _In_opt_ _locale_t _Locale); _Check_return_ _ACRTIMP long long __cdecl _atoll_l (_In_z_ char const* _String, _In_opt_ _locale_t _Locale); _Check_return_ _ACRTIMP __int64 __cdecl _atoi64_l(_In_z_ char const* _String, _In_opt_ _locale_t _Locale); _Check_return_ _ACRTIMP int __cdecl _atoflt (_Out_ _CRT_FLOAT* _Result, _In_z_ char const* _String); _Check_return_ _ACRTIMP int __cdecl _atodbl (_Out_ _CRT_DOUBLE* _Result, _In_z_ char* _String); _ ``` C語言中的字符操作函數也比較多 , 這里列舉幾個常用的 , 其他的可以去[字符串函數](http://www.kuqin.com/clib/string/strpbrk.html)網址查詢 , 都有例子 。 Android程序員學C系列: [C語言基礎及指針①](http://www.jianshu.com/p/4701cd1e1914) [C語言基礎及指針②之指針內存分析](http://www.jianshu.com/p/d556070b12ef) [C語言基礎及指針③函數與二級指針](http://www.jianshu.com/p/184df8a1f195) [C語言基礎及指針④函數指針](http://www.jianshu.com/p/181b50e02c89) [C語言基礎及指針⑤動態內存分配](http://www.jianshu.com/p/93db7c692d1b) [C語言基礎及指針⑥字符操作](http://www.jianshu.com/p/b7e6fc094087) [C語言基礎及指針⑦結構體與指針](http://www.jianshu.com/p/36cc18151e87)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看