當前位置:首頁 » 編程語言 » c語言寫入結構體

c語言寫入結構體

發布時間: 2022-08-06 18:27:03

c語言中結構體怎麼寫

以struct打頭,後面可以跟結構體名稱,然後大括弧中寫出結構體組成,比如:
struct Student { int number; float score[5]; };
其中Student就是結構體名稱,這個名稱可以當作自定義的數據類型來使用
Student a[10];

⑵ C語言 怎麼把結構體寫入文件

你把結構體轉成字元數組或者字元串 保存就行

⑶ C語言怎麼把結構體寫入文件

一般有兩種方法.

structA
{
inta;
floatf;
chars[10];
}m;

為例:

一種是寫文本文件

以"w"打開

fprintf(fp,"%d%f%s
",m.a,m.f,m.s);

另一種是寫二進制文件.

以"wb"打開

fwrite(&m,sizeof(m),1,fp);

⑷ c語言 怎麼將結構體寫入文件

最好用2進制方法打開文件,用fwrite 寫文件。讀時也用用2進制方法打開文件,用fread讀.
這樣,寫的時候按整個結構寫,讀也按整個結構讀,字元串有空白也沒關系。
FILE *fp;

fp=fopen("my.dat","wb");
fwrite(&stu,sizeof(stu),1,fp); // 寫1個結構
for (i=0;i<10;i++) fwrite(&student[i],sizeof(student),1,fp); // 寫10個結構
fclose(fp);

fp=fopen("my.dat","rb");
fread(&stu,sizeof(stu),1,fp); // 讀1個結構
for (i=0;i<10;i++) fread(&student[i],sizeof(student),1,fp); // 讀 10個結構
fclose(fp);

⑸ c語言中怎麼把一個結構體數組寫入文件

C語言把一個結構體數組寫入文件分三步:

1、以二進制寫方式(wb)打開文件

2、調用寫入函數fwrite()將結構體數據寫入文件

3、關閉文件指針

相應的,讀文件也要與之匹配:

1、以二進制讀方式(rb)打開文件

2、調用讀文件函數fread()讀取文件中的數據到結構體變數

3、關閉文件指針

參考代碼如下:

#include<stdio.h>
structstu{
charname[30];
intage;
doublescore;
};
intread_file();
intwrite_file();
intmain()
{
if(write_file()<0)//將結構體數據寫入文件
return-1;
read_file();//讀文件,並顯示數據
return0;
}

intwrite_file()
{
FILE*fp=NULL;
structstustudent={"zhangsan",18,99.5};
fp=fopen("stu.dat","wb");//b表示以二進制方式打開文件
if(fp==NULL)//打開文件失敗,返回錯誤信息
{
printf("openfileforwriteerror ");
return-1;
}
fwrite(&student,sizeof(structstu),1,fp);//向文件中寫入數據
fclose(fp);//關閉文件
return0;
}

intread_file()
{
FILE*fp=NULL;
structstustudent;
fp=fopen("stu.dat","rb");//b表示以二進制方式打開文件
if(fp==NULL)//打開文件失敗,返回錯誤信息
{
printf("openfileforreaderror ");
return-1;
}
fread(&student,sizeof(structstu),1,fp);//讀文件中數據到結構體
printf("name="%s"age=%dscore=%.2lf ",student.name,student.age,student.score);//顯示結構體中的數據
fclose(fp);//關閉文件
return0;
}

fwrite(const void*buffer,size_t size,size_t count,FILE*stream);

(1)buffer:指向結構體的指針(數據首地址)
(2)size:一個數據項的大小(一般為結構體大小)
(3)count: 要寫入的數據項的個數,即size的個數
(4)stream:文件指針。

⑹ 關於C語言的文件寫入結構體數據

結構體寫入文件是有前提的,你的結構體中不能出現指針,如果確定結構體中沒有指針的話,就可以進行如下操作
typedef struct
{
//中間不能定義指針;
}a;
a var //結構體定義的變數

fwrite(&var, sizeof(a), sizeof(a), hfile);

⑺ c語言將結構體寫入文件

誰說fwrite只能寫入整形的
fwrite((void*)&variable, 1, sizeof(float), fp);
寫結構體入文件時要格外注意對齊格式,最好可以單元素寫,單元素讀。整個結構體寫入的話,如果讀出程序對齊格式與寫入程序不同,那讀出來的數據一定是錯的。

⑻ C語言 怎麼把文件中的信息儲存到結構體數組中

write(&cus[i],sizeof(struct
client),1,fp)
是什麼意思
答:c語言把一個結構體數組寫入文件分三步:
1、以二進制寫方式(wb)打開文件
2、調用寫入函數fwrite()將結構體數據寫入文件
3、關閉文件指針
相應的,讀文件也要與之匹配:
1、以二進制讀方式(rb)打開文件
2、調用讀文件函數fread()讀取文件中的數據.

⑼ C語言怎樣將.txt文件中的數據寫入到結構體中去

txt文件中的數據寫入到結構體中去的源代碼如下:

#include<stdio.h>

#include <string.h>

//可以退出的頭文件

#include <stdlib.h>

//結構體的長度

#define DATALEN 15

//函數聲明

//定義結構數組

struct wordUnit{

int id; //id

char word[10]; //詞語

char depId[10]; //依存詞語的id

char pos[10]; //詞性

char depRel[10]; //依存目標的關系

};

int main(){

FILE *data;//要讀取的文件指針

int i=0;//結構題數組移動

struct wordUnit words[DATALEN];

if((data=fopen("data3.txt","r"))==NULL){

printf("Can not open file ");

return 0;

}

while(!feof(data)){

//原txt文檔的數據之間是以空格隔開的

}

fclose(data);

for(int j=0;j<i;j++){

}

return 0;

}

(9)c語言寫入結構體擴展閱讀

1、使用關鍵字struct,它表示接下來是一個結構體。

2、後面是一個可選的標志(book),它是用來引用該結構體的快速標記。

熱點內容
圖片伺服器ftp 發布:2025-01-22 15:52:33 瀏覽:506
sql打開bak文件 發布:2025-01-22 15:47:32 瀏覽:106
opengl伺服器源碼 發布:2025-01-22 15:40:02 瀏覽:908
python部署服務 發布:2025-01-22 15:38:46 瀏覽:282
壓縮機卡裝 發布:2025-01-22 15:37:04 瀏覽:446
每天跑步40分鍾可以緩解壓力嗎 發布:2025-01-22 15:33:24 瀏覽:448
線性表的鏈式存儲結構與順序存儲 發布:2025-01-22 15:32:45 瀏覽:295
解壓縮大師 發布:2025-01-22 15:26:51 瀏覽:386
xp訪問win7共享列印機無許可權 發布:2025-01-22 15:23:22 瀏覽:830
python中pandas 發布:2025-01-22 15:21:42 瀏覽:639