溫馨提示×

C語言怎么用結(jié)構(gòu)體輸出文本文件內(nèi)容

小億
131
2024-01-09 16:56:49
欄目: 編程語言

在C語言中,可以使用結(jié)構(gòu)體和文件操作函數(shù)來輸出文本文件的內(nèi)容。具體步驟如下:

  1. 定義一個(gè)結(jié)構(gòu)體,用于存儲文件中的數(shù)據(jù)。例如,假設(shè)文本文件中的每一行包含一個(gè)字符串,那么可以定義一個(gè)結(jié)構(gòu)體如下:
struct Data {
   char line[100];  // 假設(shè)每行最多100個(gè)字符
};
  1. 打開文本文件并讀取其中的內(nèi)容。可以使用fopen函數(shù)打開文件,使用fgets函數(shù)讀取文件中的每一行內(nèi)容,并將其存儲到結(jié)構(gòu)體數(shù)組中。
FILE *file = fopen("input.txt", "r");  // 打開文本文件
struct Data data[100];  // 假設(shè)最多100行數(shù)據(jù)
int i = 0;
while (fgets(data[i].line, sizeof(data[i].line), file) != NULL) {
   i++;
}
fclose(file);  // 關(guān)閉文件
  1. 輸出結(jié)構(gòu)體數(shù)組中的內(nèi)容。可以使用循環(huán)遍歷結(jié)構(gòu)體數(shù)組,并使用printf函數(shù)輸出每一行的內(nèi)容。
for (int j = 0; j < i; j++) {
   printf("%s", data[j].line);
}

完整代碼如下所示:

#include <stdio.h>

struct Data {
   char line[100];
};

int main() {
   FILE *file = fopen("input.txt", "r");
   struct Data data[100];
   int i = 0;
   while (fgets(data[i].line, sizeof(data[i].line), file) != NULL) {
       i++;
   }
   fclose(file);

   for (int j = 0; j < i; j++) {
       printf("%s", data[j].line);
   }

   return 0;
}

上述代碼將讀取名為input.txt的文本文件中的內(nèi)容,并輸出到標(biāo)準(zhǔn)輸出。如果要輸出到另一個(gè)文件中,可以使用fprintf函數(shù)將內(nèi)容寫入到文件中,具體使用方法可以參考相關(guān)函數(shù)的文檔。

0