このコードは、文字配列 (char ポインターによって参照される) をファイルに書き込むのに適していますか?
const char* charBuf;
FILE *outputFile = fopen("output", "a");
fprintf(outputFile, "%s\n", *charBuf);
fclose(outputFile);
buf
いくつかの文字配列へのポイントを想定します。
ファイルモードには引用符が必要です:
File *outputFile = fopen("output", "a");
a
モードで定義された c-string がない限り。
に何らかの値を保存したと仮定するとcharBuf
、fprintf で文字列を使用する必要があります。*charBuf
その文字列の最初の文字を参照します。
fprintf(outputFile, "%s\n", charBuf);
より良い答えを得るには、より多くのコードを表示する必要があります。
近いですが、にカンマがありません。また、どこにも宣言されていないfprintf(...)
変数を使用しています。charBuf
質問に対して「短い完全な例」を書くつもりだったと思いますが、実際に例をテストして、興味のある部分に問題を集中させるのに役立つことを除いて、あなたが同じことをしたことを称賛します。多くの人がタイプミスなどを指摘できるようにする代わりに。
ファイルのオープンが成功したことを確認する必要があります。
FILE *outputFile = fopen("output", "a");
エラーチェックを行う必要があります。
#include <errno.h>
#include <string.h>
if ( FILE == NULL )
{
printf("ERROR: could not open output\n");
printf("the error was: %s\n",strerror(errno));
return;
}