同調実験室 - ARGIUS.net

TOP PAGE INDEX Number / 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

08:ファイル(2) 出力

機能

  1. テキストファイル"data.txt"を新規作成、または上書き可能な状態でオープンする
  2. 下記のファイル内容を出力する
  3. ファイルをクローズする
  4. ファイルオープンに失敗した場合は、"Can't open file!"と表示して終了する

※ファイル操作は言語ごとに異なることに注意

ファイル内容

ABC
123
abc

実行結果

(上記内容のファイルが作成される)

ソース

C

#include <stdio.h>

int main()
{
  FILE *fp; /* ファイルポインタ */
  
  /* ファイルを書き込み専用でオープン */
  if ((fp = fopen("data.txt","w")) != NULL) {
    
    /* 3行書き出す */
    fputs("ABC\n", fp);
    fputs("123\n", fp);
    fputs("abc\n", fp);
    
    /* ファイルをクローズ */
    fclose(fp);
    
  } else {
    /* ファイルオープンに失敗したときの処理 */
    printf("Can't open file!");
  }
  
  return 0;
}

C++

#include <iostream>
#include <fstream>

int main()
{
  std::ofstream  ofs; // ファイル出力クラス
  
  // ファイルをオープンする
  ofs.open("data.txt");
  
  // ファイルのオープンに失敗したとき
  if (ofs.fail()) {
    
    std::cout << "Can't open file!" << std::endl;
    return 1;
    
  }
  
  // 3行書き出す
  ofs << "ABC" << std::endl;
  ofs << "123" << std::endl;
  ofs << "abc" << std::endl;
  
  // ファイルをクローズする
  ofs.close();
  
  return 0;
}

Java

import java.io.*;

class Main {
    
    public static void main (String[] args) {
        
        try {
            
            //ファイルオープン
            PrintWriter writer = new PrintWriter(new FileWriter("data.txt"));
            
            //3行書き出す
            writer.println("ABC");
            writer.println("123");
            writer.println("abc");
            
            //ファイルを閉じる
            writer.close();
            
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }
    
}

Perl

# ファイルを書き込み(上書き)モードでオープンする
open OUT, "> data.txt" or die"Can't open file!";

# ファイルに3行出力する
print OUT "ABC\n";
print OUT "123\n";
print OUT "abc\n";

# ファイルをクローズする
close OUT;

Ruby

begin
  # ファイルを書き込み(上書き)モードでオープンする
  f = open("data.txt", "w")
rescue
  # ファイルのオープンに失敗したとき
  puts "Can't open file!"
  exit
end

# 3行書き出す
f.puts "ABC"
f.puts "123"
f.puts "abc"

# ファイルをクローズする
f.close

最終更新日 : 2004.08.23

TOP PAGEINDEX Number / 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18