C言語を使ってファイルに文字列を書き込むソースをメモしておきます。
全く現段階では、使い予定のないソースコードですが、プログラム勉強におけるデータ書き出し処理として、
参考程度にしてもらえるといいかと思います。
ソースコード
fileWrite.c
#include <stdio .h>
#include <stdlib .h>
#include <string .h>
/**
* ファイル書き込み
* クエリ情報の書き込み(追記型)
**/
void main (int argc,char *argv[]){
// ファイルポインタの宣言
FILE *file;
// ファイルのオープン
file = fopen("./data.txt", "a");
//チェック
if(file == NULL){
printf("Not file open!");
exit(1);
}
char *str;
int i;
for(i=1; i<argc ; i++){
strcat(str, argv[i]);
strcat(str, ",");
}
strcat(str, "\n");
// ファイルの書き込み
fprintf(file, str);
printf("%s", str);
// ファイルクローズ
fclose(file);
}
解説
ファイルのデータ書き込みは、工程さえ押さえておけば非常に簡単に行なえます。
1. ファイルオープン
2. データ書き込み
3. ファイルクローズ
この工程ですが、今回は排他処理は考慮していません。
今後必ず問題になると思いますが、その時に対応したいと思います。
コンパイル
$ gcc -o fileWrite fileWrite.c
実行
引数を「data.txt」ファイルに書き込む(追記)仕様です。
$ ./fileWrite aaa bbb ccc ddd
無事にdata.txtファイルに新しい行ができて文字列が追記されていれば成功です。
2バイト文字対応やら、文字エンコードやらも、排他処理と同じく今後に対応したいと思います。
0 件のコメント:
コメントを投稿