操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    每種編程語(yǔ)言都有其獨(dú)特的完成任務(wù)的方式,這也說(shuō)明了為什么有這么多語(yǔ)言可供選擇。

    在 Jim Hall 的《不同的編程語(yǔ)言如何完成相同的事情》文章中,他演示了 13 種不同的語(yǔ)言如何使用不同的語(yǔ)法來(lái)完成同一個(gè)任務(wù)。經(jīng)驗(yàn)是,編程語(yǔ)言往往有很多相似之處。一旦你了解了一種編程語(yǔ)言,你就可以通過(guò)理解它的語(yǔ)法和結(jié)構(gòu)來(lái)學(xué)習(xí)另一種。

    本著同樣的精神,Jim 的文章比較了不同編程語(yǔ)言如何讀寫數(shù)據(jù)。無(wú)論數(shù)據(jù)來(lái)自配置文件還是用戶創(chuàng)建的文件,在存儲(chǔ)設(shè)備上處理數(shù)據(jù)都是程序員的常見任務(wù)。以這種方式涵蓋所有編程語(yǔ)言是不切實(shí)際的,但最近的 系列文章提供了對(duì)這些編程語(yǔ)言采用的不同方法的深入了解:

    讀寫數(shù)據(jù)

    用計(jì)算機(jī)讀寫數(shù)據(jù)的過(guò)程和你在現(xiàn)實(shí)生活中讀寫數(shù)據(jù)的過(guò)程類似。要訪問(wèn)書中的數(shù)據(jù),你首先要打開它,然后閱讀單詞或?qū)⑸~寫入書中,然后合上書。

    當(dāng)程序需要從文件中讀取數(shù)據(jù)時(shí),你向程序傳入一個(gè)文件位置,然后計(jì)算機(jī)將該數(shù)據(jù)讀入內(nèi)存中并解析它。同樣,當(dāng)程序需要將數(shù)據(jù)寫入文件時(shí),計(jì)算機(jī)會(huì)將新數(shù)據(jù)放入系統(tǒng)的內(nèi)存寫入緩沖區(qū),然后將其同步到存儲(chǔ)設(shè)備上的文件中。

    下面是這些操作的一些偽代碼:

    在內(nèi)存中加載文件。讀取文件內(nèi)容,或?qū)?shù)據(jù)寫入文件。關(guān)閉文件。從文件中讀取數(shù)據(jù)

    從 系列文章的語(yǔ)言中,你可以看到讀取文件的三種趨勢(shì)。

    C

    在 C 語(yǔ)言中,打開文件可能涉及檢索單個(gè)字符(直到 EOF指示符,表示文件結(jié)束)或一個(gè)數(shù)據(jù)塊,具體取決于你的需求和方法。根據(jù)你的目標(biāo),它可能感覺(jué)像一個(gè)主要是手工的過(guò)程,但這正是其他語(yǔ)言所模仿的。

    FILE *infile;
    int ch;
    infile = fopen(argv[1], "r");
     
    do {
      ch = fgetc(infile);
      if (ch != EOF) {
        printf("%c", ch);
      }
     } while (ch != EOF);
    

    無(wú)法調(diào)用c#中dll中靜態(tài)方法_c語(yǔ)言中無(wú)法打開文件_xp區(qū)域語(yǔ)言無(wú)法打開

    fclose(infile);

    你還可以選擇將文件的某些部分加載到系統(tǒng)緩沖區(qū)中,然后在緩沖區(qū)外工作。

    FILE *infile;
    char buffer[300];
     
    infile = fopen(argv[1], "r");
    while (!feof(infile)) {
      size_t buffer_length;
      buffer_length = fread(buffer, sizeof(char), 300, infile);
    }
    printf("%s", buffer);
    fclose(infile);
    

    C++

    C++ 簡(jiǎn)化了一些步驟,允許你將數(shù)據(jù)解析為字符串。

    std::string sFilename = "example.txt";
    std::ifstream fileSource(sFilename);
    

    無(wú)法調(diào)用c#中dll中靜態(tài)方法_xp區(qū)域語(yǔ)言無(wú)法打開_c語(yǔ)言中無(wú)法打開文件

    std::string buffer; while (fileSource >> buffer) { std::cout

    Java

    Java 和 類似于 C++。它們使用名為 的類來(lái)設(shè)置數(shù)據(jù)流或?qū)ο螅@樣就會(huì)包含你選擇的文件內(nèi)容。你可以通過(guò)標(biāo)記(字節(jié)、行、整數(shù)等)掃描文件。

    File myFile = new File("example.txt");
    Scanner myScanner = new Scanner(myFile);
      while (myScanner.hasNextLine) {
        String line = myScanner.nextLine;
        System.out.println(line);
      }
    myScanner.close;
    

    def myFile = new File('example.txt')
    def myScanner = new Scanner(myFile)
      while (myScanner.hasNextLine) {
        def line = myScanner.nextLine
    

    xp區(qū)域語(yǔ)言無(wú)法打開_無(wú)法調(diào)用c#中dll中靜態(tài)方法_c語(yǔ)言中無(wú)法打開文件

    println(line) } myScanner.close

    Lua

    Lua 和 進(jìn)一步抽象了整個(gè)過(guò)程。你不必有意識(shí)地創(chuàng)建數(shù)據(jù)流,你只需給一個(gè)變量賦值為 open函數(shù)的返回值,然后解析該變量的內(nèi)容。這種方式快速,最簡(jiǎn)且容易。

    myFile = io.open('example.txt', 'r')
    lines = myFile:read("*all")
    print(lines)
    myFile:close
    

    f = open('example.tmp', 'r')
    for line in f:
        print(line)
    f.close
    

    c語(yǔ)言中無(wú)法打開文件_無(wú)法調(diào)用c#中dll中靜態(tài)方法_xp區(qū)域語(yǔ)言無(wú)法打開

    向文件中寫入數(shù)據(jù)

    就寫代碼來(lái)說(shuō),寫入是讀取的逆過(guò)程。因此,將數(shù)據(jù)寫入文件的過(guò)程與從文件中讀取數(shù)據(jù)基本相同,只是使用了不同的函數(shù)。

    C

    在 C 語(yǔ)言中,你可以使用 fputc函數(shù)將字符寫入文件:

    fputc(ch, outfile);
    

    或者,你可以使用 將數(shù)據(jù)寫入緩沖區(qū)。

    fwrite(buffer, sizeof(char), buffer_length, outfile);
    

    C++

    因?yàn)?C++ 使用 庫(kù)為數(shù)據(jù)打開緩沖區(qū),所以你可以像 C 語(yǔ)言那樣將數(shù)據(jù)寫入緩沖區(qū)(C++ 庫(kù)除外)。

    std::cout 

    Java

    在 Java 中,你可以使用 類來(lái)創(chuàng)建一個(gè)可以寫入數(shù)據(jù)的對(duì)象。它的工作方式與類非常相似,只是方向相反。

    FileWriter myFileWriter = new FileWriter("example.txt", true);
    myFileWriter.write("Hello world\n");
    myFileWriter.close;
    

    類似地, 使用 ,但使用了稍微 “” 的語(yǔ)法。

    new FileWriter("example.txt", true).with {
      write("Hello world\n")
    

    c語(yǔ)言中無(wú)法打開文件_xp區(qū)域語(yǔ)言無(wú)法打開_無(wú)法調(diào)用c#中dll中靜態(tài)方法

    flush }

    Lua

    Lua 和 很相似,都使用名為 open的函數(shù)來(lái)加載文件,函數(shù)來(lái)寫入數(shù)據(jù),close函數(shù)用于關(guān)閉文件。

    myFile = io.open('example.txt', 'a')
    io.output(myFile)
    io.write("hello world\n")
    io.close(myFile)
    

    myFile = open('example.txt', 'w')
    myFile.write('hello world')
    myFile.close
    

    File 模式

    許多語(yǔ)言在打開文件時(shí)會(huì)指定一個(gè)“模式”。模式有很多c語(yǔ)言中無(wú)法打開文件c語(yǔ)言中無(wú)法打開文件,但這是常見的定義:

    某些語(yǔ)言,例如 Java 和 ,允許你根據(jù)用于加載文件的類來(lái)確定模式。

    無(wú)論編程語(yǔ)言以何種方式來(lái)確定文件模式,你都需要確保你是在 追加數(shù)據(jù),除非你打算用新數(shù)據(jù)覆蓋文件。編程語(yǔ)言不像文件選擇器那樣,沒(méi)有內(nèi)置的提示來(lái)警告你防止數(shù)據(jù)丟失。

    新語(yǔ)言和舊把戲

    每種編程語(yǔ)言都有其獨(dú)特完成任務(wù)的方式,這就是為什么有這么多語(yǔ)言可供選擇。你可以而且應(yīng)該選擇最合適你的語(yǔ)言。但是,你一旦了解了編程的基本結(jié)構(gòu),你可以隨意嘗試其他語(yǔ)言,而不必?fù)?dān)心不知道如何完成基本任務(wù)。通常情況下,實(shí)現(xiàn)目標(biāo)的途徑是相似的,所以只要你牢記基本概念,它們就很容易學(xué)習(xí)。

    via:

    作者:Alan 選題:譯者:校對(duì):wxy

    本文由 LCTT原創(chuàng)編譯,Linux中國(guó)榮譽(yù)推出

網(wǎng)站首頁(yè)   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號(hào):冀ICP備2024067069號(hào)-3 北京科技有限公司版權(quán)所有