linux逐次ファイルを読み込む方法
Linuxでは、C言語かスクリプト言語でファイル逐次読み出しが行えます。以下に一般的な2つの方法を紹介します。
- C言語では、標準Cライブラリのfgets関数を使って、ファイルの内容を1行ずつ読み込むことができる。
#include <stdio.h>
int main() {
FILE* file = fopen("filename.txt", "r");
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}
char line[256];
while (fgets(line, sizeof(line), file) != NULL) {
printf("%s", line);
}
fclose(file);
return 0;
}
上記のコードでは、まずfopen関数でファイルを開き、fgets関数でファイルの内容を一行ずつ読み出し、各行をプリントアウトした後、fclose関数でファイルを閉じる。
- シェルスクリプト:readコマンドと組み合わせたwhileループを使用し、ファイルを読み取ることができます。
#!/bin/bash
while IFS= read -r line; do
echo "$line"
done < "filename.txt"
while 文では read コマンドで一行的読み込みを行い、line 変数にそれが格納され、echo コマンドで表示されます。ファイル内容はこのループにリダイレクト記号を通じて渡されます。
C 言語でもシェルスクリプトでも、一行ずつファイルの内容を読み込む機能は実現できる。どちらを選択するかは、目的やプログラミング環境による。