-2

このコードは、文字配列 (char ポインターによって参照される) をファイルに書き込むのに適していますか?

const char* charBuf;

FILE *outputFile = fopen("output", "a");
fprintf(outputFile, "%s\n", *charBuf);
fclose(outputFile);

bufいくつかの文字配列へのポイントを想定します。

4

3 に答える 3

0

ファイルモードには引用符が必要です:

File *outputFile = fopen("output", "a");

aモードで定義された c-string がない限り。

に何らかの値を保存したと仮定するとcharBuf、fprintf で文字列を使用する必要があります。*charBufその文字列の最初の文字を参照します。

fprintf(outputFile, "%s\n", charBuf);

より良い答えを得るには、より多くのコードを表示する必要があります。

于 2012-09-26T19:03:26.600 に答える
0

近いですが、にカンマがありません。また、どこにも宣言されていないfprintf(...)変数を使用しています。charBuf

質問に対して「短い完全な例」を書くつもりだったと思いますが、実際に例をテストして、興味のある部分に問題を集中させるのに役立つことを除いて、あなたが同じことをしたことを称賛します。多くの人がタイプミスなどを指摘できるようにする代わりに。

于 2012-09-26T19:03:32.250 に答える
0

ファイルのオープンが成功したことを確認する必要があります。

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;
}
于 2012-09-26T22:42:44.227 に答える