新手C語言,檔案系統IO問題

發布 科技 2024-02-05
9個回答
  1. 匿名使用者2024-01-25

    姓名、編號、年齡。

    因為寫法不同,閱讀方式也不同,我省略了這一行,檔案的內容:

    張三 0105 34

    李思 0106 33

    王 5 0107 32

    這是我的標準程式:

    請注意,該檔案和 C 檔案應位於同一目錄中。

    #include

    #define st (struct student*)malloc(sizeof(struct student))

    typedef struct studentss;ss* readstu(ss* head);讀取 void display(ss *head); 列印 void writestu(ss* head); 寫入 ss* min(ss* head); 排序 ss* readstu(ss* head) free(p1);

    p1=null;

    fclose(fp);

    return(head);

    void writestu(ss* head)}fclose(fp);

    主要功能。 int main()

    void display(ss *head)}ss* min(ss* head)

    if(first == null)

    elseif(min == head)

    elseif(first != null)

    head = first;

    return(head);

    輸出: King 5 0107 32

    李思 0106 33

    張三 0105 34

    您可能在檔案中看不到換行符,但這沒關係,您可以重複閱讀它。

  2. 匿名使用者2024-01-24

    typedef struct _studentstudent, *pstudent;

    讀取一行中的前幾個字串,空格和回車符作為分隔符 char* getword(char* buf, int buflen, int num)。

    tail->next = pnode;

    tail = pnode;

    sum++;

    char* tmp;

    tmp = getword(buf, 256, 0);

    strcpy(pnode->name, tmp);

    tmp = getword(buf, 256, 1);

    pnode->id = atoi(tmp);

    tmp = getword(buf, 256, 2);

    pnode->age = atoi(tmp);

    memset(buf, 256, 0);

    fclose(pf);

    排序。 pstudent pwork, pworkprev, pnodeprev, pnode, tmphead=null, tmptail=null;

    int n=0;

    while(head)

    pworkprev = pwork;

    pwork = pwork->next;}//if(pnode == head)

    elsepnode->next = null;

    if(n==0)

    elsen++;

    排序結束。

    寫入檔案。 pf = fopen(filename, "w");

    pwork = tmphead;

    while(pwork)

    fclose(pf);

    system("pause");

    return 0;}

    該檔案內容如下:

    李思 201 20

    張三 101 30

    列王紀 5:102-33

  3. 匿名使用者2024-01-23

    您正在談論的標題名稱不正確。 C 語言 ** 到檔案系統? 檔案系統是作業系統上的乙個相關概念。 你想說的應該是關於C語言中與檔案相關的操作。

    我們知道C的基本點是指標,所以檔案的操作也是通過紙板檔案的檔案型別的指標來實現的。 它包括 open(file*)、close(file*) 等。

  4. 匿名使用者2024-01-22

    檔案功能,檔案操作資料很多。

  5. 匿名使用者2024-01-21

    fprintf(fp,"%d%d...",a,b,c,d...

    更改為:fprintf(fp,"%d\t%d\t...",a,b,c,d...

    輸出資料由缺少的空格字元(空格、跳過或回車符)分隔。

  6. 匿名使用者2024-01-20

    您的**重要2點:

    1.輸入字串不需要位址字元&,讀取時也不需要,輸入和讀取其實是同乙個概念,不需要指定長度。

    2.在結構中指定了輸入字元的長度,如果輸入較多雖然沒有編譯錯誤,則會出現資料溢位,並且當您再次讀取或檢視資料時,會出現亂碼,或者資料位置錯誤,scanf無法攝取空格,換行符, 等等,一般都想用gets()來儲存字串。

    ps:其實檔案的讀取和它的儲存方式有關,是二進位還是accii要區分清楚,開啟檔案的時候是有區別的。

    你怎麼開啟檔案來儲存,你得用同樣的方式開啟它來閱讀它,如果還有困難,就把你所有的**都發了,我可以給你修改和解釋。

  7. 匿名使用者2024-01-19

    這是 UNIX 環境下 io 流的標頭檔案。。

  8. 匿名使用者2024-01-18

    我只能給你一點想法。

    寫乙個鍊表,把讀123和hello寫到乙個結構體上,把所有的資料都儲存在鍊表裡,然後當你找的時候,遍歷整個鍊表,找到123對應的內容。

  9. 匿名使用者2024-01-17

    標準輸入緩衝區和檔案讀寫緩衝區都是由作業系統自動開啟的,這兩個緩衝區的開發與C語言本身關係不大。

    使用 fopen 開啟檔案將使用檔案讀/寫緩衝區開啟檔案並直接讀取和寫入檔案。

相關回答
18個回答2024-02-05

此函式用於開啟指定檔案的預定義流:標準輸入、標準輸出或標準錯誤。 >>>More

15個回答2024-02-05

答案已傳送到您的郵箱,請檢查。 另外,建議不要依賴這種方式來完成作業。

10個回答2024-02-05

printf("dd");

這有問題,對吧? >>>More

15個回答2024-02-05

第乙個 awhile(leap) 條件是 leap 是否為 true(如果 leap 不是 0,則為 true,如果為 0,則為 false)。 >>>More

27個回答2024-02-05

一般使用。

另外,還有乙個非常強大的“C和C++程式設計學習實踐系統”,但註冊後才會有完整的功能,嘗試一下感覺很好。 >>>More