最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解C語言中write函數(shù)

 更新時間:2023年08月07日 15:55:13   作者:蓀蓀  
write函數(shù),是一個C語言函數(shù),功能為將數(shù)據(jù)寫入已打開的文件內(nèi),這篇文章主要介紹了C語言中write函數(shù),本文給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

write函數(shù)是C語言函數(shù)

write函數(shù)所在的頭文件為 <unistd.h>
write有兩種用法。一種是:
ssize_twrite(int handle, void *buf, int nbyte);
handle 是 文件描述符;
buf是指定的緩沖區(qū),即 指針,指向一段內(nèi)存單元;
nbyte是要寫入文件指定的字節(jié)數(shù);返回值:寫入文檔的字節(jié)數(shù)(成功);-1(出錯)
write函數(shù)把buf中nbyte寫入文件描述符handle所指的文檔,成功時返回寫的字節(jié)數(shù),錯誤時返回-1.
另一種是:write(const char* str,int n)
str是 字符指針或字符 數(shù)組,用來存放一個字符串。n是int型數(shù),它用來表示輸出顯示字符串中字符的個數(shù)。
write("string",strlen("string");表示輸出 字符串常量

#include <stdio.h> 
        #include <stdlib.h> 
        #include <fcntl.h> 
        #include <sys\stat.h> 
        #include <io.h> 
        #include <string.h> 
        int  
        main( 
        void 
        ) 
        { 
        int  
        *handle;  
        char  
        string[40]; 
        int  
        length, res; 
        /* Create a file named "TEST.$$$" in the current directory and write a string to it. If "TEST.$$$" already exists, it will be overwritten. */ 
        if  
        ((handle = open( 
        "TEST.$$$" 
        , O_WRONLY | O_CREAT | O_TRUNC, S_IREAD | S_IWRITE)) == -1) 
        { 
        printf 
        ( 
        "Error opening file.\n" 
        ); 
        exit 
        (1); 
        } 
        strcpy 
        (string,  
        "Hello, world!\n" 
        ); 
        length =  
        strlen 
        (string); 
        if  
        ((res = write(handle, string, length)) != length) 
        { 
        printf 
        ( 
        "Error writing to the file.\n" 
        ); 
        exit 
        (1); 
        } 
        printf 
        ( 
        "Wrote %d bytes to the file.\n" 
        , res); 
        close(handle);  
        return  
        0;  
        } 

讀函數(shù)read 

ssize_t read( int ?fd, void ? * buf,size_t nbyte)?

read函數(shù)是負責從fd中讀取內(nèi)容. 成功時,read返回實際所讀的字節(jié)數(shù),如果返回的值是0,表示已經(jīng)讀到文件的結(jié)束了.
小于0表示出現(xiàn)了錯誤. 如果錯誤為EINTR說明讀是由中斷引起的,  如果是ECONNREST表示網(wǎng)絡(luò)連接出了問題.

寫函數(shù)write 

ssize_t write( int ?fd, const ? void ? * buf,size_t nbytes)?

write函數(shù)將buf中的nbytes字節(jié)內(nèi)容寫入文件描述符fd.成功時返回寫的字節(jié)數(shù).失敗時返回-1. 并設(shè)置errno變量. 在網(wǎng)絡(luò)程序中,當我們向套接字文件描述符寫時有倆種可能.  
1)write的返回值大于0,表示寫了部分或者是全部的數(shù)據(jù).  
2)返回的值小于0,此時出現(xiàn)了錯誤.我們要根據(jù)錯誤類型來處理.  如果錯誤為EINTR表示在寫的時候出現(xiàn)了中斷錯誤.  
如果為EPIPE表示網(wǎng)絡(luò)連接出現(xiàn)了問題(對方已經(jīng)關(guān)閉了連接).

到此這篇關(guān)于C語言中write函數(shù)的文章就介紹到這了,更多相關(guān)C語言write函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文徹底讀懂C++的繼承機制

    一文徹底讀懂C++的繼承機制

    在C++中繼承是通過指定繼承方式來實現(xiàn)的,這篇文章主要介紹了C++繼承機制的相關(guān)資料,文中通過代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2025-09-09
  • C++中jsoncpp庫和nlohmann-json庫實現(xiàn)JSON與字符串類型轉(zhuǎn)換

    C++中jsoncpp庫和nlohmann-json庫實現(xiàn)JSON與字符串類型轉(zhuǎn)換

    jsoncpp是ROS自帶的一個JSON庫,它提供了一些函數(shù)來解析和生成JSON數(shù)據(jù),在ROS中,可以使用jsoncpp庫來實現(xiàn)JSON與字符串類型之間的轉(zhuǎn)換,這篇文章主要介紹了jsoncpp庫和nlohmann-json庫實現(xiàn)JSON與字符串類型轉(zhuǎn)換,需要的朋友可以參考下
    2023-08-08
  • C++簡明講解類型轉(zhuǎn)換的使用與作用

    C++簡明講解類型轉(zhuǎn)換的使用與作用

    類型轉(zhuǎn)換(type?cast),是高級語言的一個基本語法。它被實現(xiàn)為一個特殊的運算符,以小括號內(nèi)加上類型名來表示,接下來讓我們一起來詳細了解
    2022-04-04
  • C語言基礎(chǔ)之malloc和free函數(shù)詳解

    C語言基礎(chǔ)之malloc和free函數(shù)詳解

    這篇文章主要介紹了C語言基礎(chǔ)之malloc和free函數(shù)詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • C++實現(xiàn)從數(shù)組中同時取出最大最小元素算法示例

    C++實現(xiàn)從數(shù)組中同時取出最大最小元素算法示例

    這篇文章主要介紹了C++實現(xiàn)從數(shù)組中同時取出最大最小元素算法,結(jié)合具體實例形式分析了C++通過數(shù)組的遍歷、排序獲取最大與最小元素的相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • C/C++細數(shù)宏與函數(shù)有那些區(qū)別

    C/C++細數(shù)宏與函數(shù)有那些區(qū)別

    在C程序中,可以用宏代碼提高執(zhí)行效率。宏代碼本身不是函數(shù),但使用起來象函數(shù)。預(yù)處理器用復(fù)制宏代碼的方式代替函數(shù)調(diào)用,省去了參數(shù)壓棧、生成匯編語言的CALL調(diào)用、返回參數(shù)、執(zhí)行return等過程,從而提高了速度
    2022-10-10
  • C++11 上下文關(guān)鍵字的具體實踐

    C++11 上下文關(guān)鍵字的具體實踐

    本文主要介紹了C++11 上下文關(guān)鍵字的具體實踐,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2023-06-06
  • C++實現(xiàn)頁面的緩沖區(qū)管理器

    C++實現(xiàn)頁面的緩沖區(qū)管理器

    這篇文章主要介紹了C++實現(xiàn)頁面的緩沖區(qū)管理器,文章圍繞主題展開詳細的內(nèi)容介紹具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • 基于C語言實現(xiàn)五子棋游戲完整實例代碼

    基于C語言實現(xiàn)五子棋游戲完整實例代碼

    這篇文章主要介紹了基于C語言實現(xiàn)五子棋游戲完整實例代碼,相信對于學(xué)習游戲開發(fā)的朋友會有一定的幫助與借鑒價值,需要的朋友可以參考下
    2014-08-08
  • C++ COM編程之接口背后的虛函數(shù)表

    C++ COM編程之接口背后的虛函數(shù)表

    這篇文章主要介紹了C++ COM編程之接口背后的虛函數(shù)表,COM的背后,就是接口,而接口的背后,就是虛函數(shù)表,需要的朋友可以參考下
    2014-10-10

最新評論

稷山县| 玉山县| 辰溪县| 佳木斯市| 泰宁县| 黄石市| 广饶县| 当阳市| 黄龙县| 泽库县| 台江县| 青海省| 中西区| 梓潼县| 梁平县| 正安县| 九龙坡区| 福贡县| 南召县| 黄龙县| 德阳市| 巴青县| 金坛市| 饶阳县| 安图县| 堆龙德庆县| 昭平县| 太谷县| 楚雄市| 海口市| 罗平县| 五大连池市| 涞水县| 孟津县| 多伦县| 湄潭县| 凉城县| 刚察县| 耒阳市| 大邑县| 芜湖市|