-
姓名、編號、年齡。
因為寫法不同,閱讀方式也不同,我省略了這一行,檔案的內容:
張三 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
您可能在檔案中看不到換行符,但這沒關係,您可以重複閱讀它。
-
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
-
您正在談論的標題名稱不正確。 C 語言 ** 到檔案系統? 檔案系統是作業系統上的乙個相關概念。 你想說的應該是關於C語言中與檔案相關的操作。
我們知道C的基本點是指標,所以檔案的操作也是通過紙板檔案的檔案型別的指標來實現的。 它包括 open(file*)、close(file*) 等。
-
檔案功能,檔案操作資料很多。
-
fprintf(fp,"%d%d...",a,b,c,d...
更改為:fprintf(fp,"%d\t%d\t...",a,b,c,d...
輸出資料由缺少的空格字元(空格、跳過或回車符)分隔。
-
您的**重要2點:
1.輸入字串不需要位址字元&,讀取時也不需要,輸入和讀取其實是同乙個概念,不需要指定長度。
2.在結構中指定了輸入字元的長度,如果輸入較多雖然沒有編譯錯誤,則會出現資料溢位,並且當您再次讀取或檢視資料時,會出現亂碼,或者資料位置錯誤,scanf無法攝取空格,換行符, 等等,一般都想用gets()來儲存字串。
ps:其實檔案的讀取和它的儲存方式有關,是二進位還是accii要區分清楚,開啟檔案的時候是有區別的。
你怎麼開啟檔案來儲存,你得用同樣的方式開啟它來閱讀它,如果還有困難,就把你所有的**都發了,我可以給你修改和解釋。
-
這是 UNIX 環境下 io 流的標頭檔案。。
-
我只能給你一點想法。
寫乙個鍊表,把讀123和hello寫到乙個結構體上,把所有的資料都儲存在鍊表裡,然後當你找的時候,遍歷整個鍊表,找到123對應的內容。
-
標準輸入緩衝區和檔案讀寫緩衝區都是由作業系統自動開啟的,這兩個緩衝區的開發與C語言本身關係不大。
使用 fopen 開啟檔案將使用檔案讀/寫緩衝區開啟檔案並直接讀取和寫入檔案。
第乙個 awhile(leap) 條件是 leap 是否為 true(如果 leap 不是 0,則為 true,如果為 0,則為 false)。 >>>More
一般使用。
另外,還有乙個非常強大的“C和C++程式設計學習實踐系統”,但註冊後才會有完整的功能,嘗試一下感覺很好。 >>>More