複数のファイルで関数を定義しました。以下と同じ実行に従って、同じファイルにテキストを書き込みたいです。 以下のように、異なるファイルに実行フローを書き込む方法を見つけました。
function1.h
#ifndef FUNCTION1_H_INCLUDED
#define FUNCTIONS_H_INCLUDED
int Sum(int a, int b);
#endif
function1.c
#include "function1.h"
int Sum(int a, int b)
{
FILE *fp;
fp = fopen("E:\\tmp\\test.txt", "a");
fputs("Inside Sum function...\n", fp);
fclose(fp);
return a+b;
}
main.c
#include "stdio.h"
#include "function1.h"
int main() {
int a=10, b=12;
FILE *fp;
fp = fopen("E:\\tmp\\test.txt", "a");
fputs("Before Sum function...\n", fp);
fclose(fp);
printf("%d + %d = %d", a, b, Sum(a, b));
fp = fopen("E:\\tmp\\test.txt", "a");
fputs("After Sum function...\n", fp);
fclose(fp);
}
複数のファイルが存在する場合、上記の解決策は非常に困難です。 直接書く方法はありますかtest.txt 複数の* .cファイルで?
回答 3 件
引数
int Sum(int a, int b, File *F)
としてファイルポインターを渡す 次に、(最後に)ファイルの先頭に戻るためにSEEK_SETにlseekできます。#include <stdio.h> #include <stdlib.h> /* Define SHOW_WHERE to turn on show_where() */ #define SHOW_WHERE #ifdef SHOW_WHERE #define show_where(fp) \ fprintf(fp, "FILE=%s\tLINE=%d\tFUNC=%s\tDATE=%s\tTIME=%s\n", __FILE__, __LINE__, __FUNCTION__, __DATE__, __TIME__); \ fflush(fp); #else #define show_where(fp) #endif int main(int argc, char *argv[]) { show_where(stdout); return 0; }
関連記事
- パワーシェル:サブディレクトリで複数のファイルを検索する
- Androidのレトロフィットを使用して単一のPOSTメソッドでテキストデータ、単一の画像、複数の画像を投稿するにはどうすればよいですか?
- 1つの式で複数の正規表現が一致する
- 単一のファイルでディレクトリをフラット化する
- 複数のフォルダにあるcsvファイルを1つのデータフレームに追加します
- 複数のディレクトリを入力し、サブディレクトリを入力し、bashを使用してすべてのファイルを1つのディレクトリに移動します
- S3boto3で複数のファイルと特定のパターンを削除する方法
- 単一のGKE入力コントローラーで複数の入力リソースを持つことは可能ですか?
- 複数のCSVファイルを処理し、PowerShellを使用して2つのセミコロン文字を含む単一の列の行を削除します
- Hadoopを使用してプログラムで複数の無関係なcsvファイルを含むUntarファイル
関連した質問
- Cでの再帰を使用したtxtファイルからの逆印刷
- コマで区切られた文字列をファイルに読み書きできません
- Cでのファイル処理入力からの出力に逆文字列を出力します
- トークンをatoiした後、strcpyを作成できませんか?
- longの配列をカスタムファイルに効率的に保存する方法
- ファイルが実際に終了する前に、プログラムがEOF条件を認識するのはなぜですか?
- FILE *は、前のエントリを正しく読み取った後、入力テキストファイルから「double」変数にゼロを読み込んでいます
- lintが表示されるまでCのreadinfファイル
- Lexワードカウンターが正しく実行されていません。ファイルを開く際に発生する可能性のある問題
- Cプログラミングでファイルへのポインタの配列を作成する
ファイルを開き、その記述子を引数のように渡すことができます。
function1.h
function1.c
main.c