【C言語入門】fputsの使い方

【C言語入門】fputsの使い方

こんにちは、もがちゃんです

C言語でテキストファイルへ出力する際に、よく利用するのがfputs関数です

fputs関数は、ファイルへの出力時に利用されるので
fopen関数、fclose関数と一緒に使用されます

この記事では
fputs関数の使い方を簡単なサンプルソースとともに説明します

fputsの構文

#include <stdio.h>
int fputs(const char * restrict s, FILE * restrict stream);

fputsの説明

fputsは、streamで指定するファイルポインタに紐づくファイルへ、s で指定する文字列を出力する関数です

fputs関数は、streamが指すストリームにsが指す文字列を書き込む。終端ナル文字の書込みは、行わない。

JISX3010 プログラム言語C
s

ファイルへ出力する文字列を指定します
文字列の最後は、’\0’(ヌル文字)が必要です

stream

出力したいファイルに紐づくファイルポインタを指定します
(fopen関数の返却値を指定します)

返却値

ファイルへの出力に
成功した場合、0以上の値を返します
失敗した場合、EOFを返します

fputs関数は、書込みエラーが発生した場合、EOFを返す。その他の場合、非負の値を返す。

JISX3010 プログラム言語C

fputsの使い方サンプル

テキストファイルへ文字列を出力する簡単なサンプルプログラムを紹介します

サンプルソースと実行結果
#include <stdio.h>
int main(int argc, char *argv[]) {
  // "w"モードで test1.txt ファイルをオープン
  FILE *fp = fopen("test1.txt","w");
  if(fp != NULL) {
    // ファイルオープンが成功したら
    char buffer[512];
    int ret = EOF;
    //bufferに出力する文字列を設定する
    sprintf(buffer, "abcdef1234567890ABCDEF");
    //ファイルへ文字列を出力する
    ret = fputs(buffer, fp);
    if(ret == EOF) {
      printf("fputs()に失敗しました![%d]\n", ret);
      return -1;
    }
    printf("ret[%d]\n", ret);
    //ファイルへ空文字列を出力する
    ret = fputs("", fp);
    if(ret == EOF) {
      printf("fputs()に失敗しました![%d]\n", ret);
      return -1;
    }
    printf("ret[%d]\n", ret);
    //ファイルへ文字列を出力する
    ret = fputs(buffer, fp);
    // ファイルをクローズする
    ret = fclose(fp);
    if(ret != 0) {
      printf("fclose()に失敗しました![%d]\n", ret);
    }
  }
}
fputsを使用したサンプルプログラムの動作結果
fputsを使用したサンプルプログラムの動作結果
text1.txt
abcdef1234567890ABCDEFabcdef1234567890ABCDEF

fputsのまとめ

fputs関数は、fopen関数、fclose関数とセットで使用する

fputs関数で指定する s の文字列の最後には、’\0’(ヌル文字)が必要

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA