• ベストアンサー

COBOLの改行

COBOLでWRITEを使って<1>のように出力したいのですがAFTER(もしくはBEFORE) 1 LINE と指定すると<2>のように一行空いて出力されてしまうのはなぜなのでしょう。 ちなみにAFTERを指定しないと<3>のように改行が入らず出力されます。 <1> AAAAAAAAAA BBBBBBBBBB CCCCCCCCCC <2> AAAAAAAAAA BBBBBBBBBB CCCCCCCCCC <3> AAAAAAAAAABBBBBBBBBBCCCCCCCCCC

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

どんなOSのどんなCOBOLでしょうか? ファイル出力のレコード記述は、どのようになっていますか? 私は長年、汎用機のCOBOL85を経験していますが、プリンタ制御文字に「空白」を指定する方法で、こういったトラブルには無縁でした。 FD LIST-FILE. 01 LIST-REC. 03 FILLER PIC X. 03 LIST=FLD PIC X(132). MOVE SPACE TO LIST-REC. →先頭1文字に空白を入れることで、出力毎に1行改行

その他の回答 (2)

  • ultraCS
  • ベストアンサー率44% (3956/8947)
回答No.3

#2の方の答えのように、ホストの場合、ラインプリンタの改行は行頭の文字で制御されます。ホスト用のレーザープリンターであればこれをエミュレートするはずです。 '1'で改ページ、' '(スペース)で改行、'0'で一行空け、'+'で重ね打ちだったと思います(数字でその行数改行という拡張機能もあったような)。ですから、行頭にこれらの文字があれば制御されるはずです。 PCのCOBOLだと、このあたりがはっきりしませんが、その場合、改行文字(OSで違うので、CRかCR/LF)を直接出力してみてはいかがでしょう。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

レーザですか?インパクトですか? プリント領域の定義が、プリンタの最大幅を越えているため、と思います。 COBOL離れてずいぶん経つので自信なし。

関連するQ&A

  • vbsで文字列内の改行コードを置換もしくは削除

    ある帳票作成ソフトにCSVを渡して帳票を作成するのですが、カンマで区切られた文字列内に改行コードが存在すると、CSVの区切りを判定してくれず(改行とみなされてしまう)、うまく帳票を出力してくれません。vbsで改行コードを削除、もしくは何か違う文字に置き換えしようと思うのですが、vbsにはうといためよくわかりません。どなたかご教授してもらえないでしょうか?。やりたいことは 元のCSV 【1行目】AAAAAAAAAA,BBBBB<改行コード>BBBBBB 【2行目】CCCCCCCCC,DDDDDDDDDD 変換後のCSV 【1行目】AAAAAAAAAA,BBBBBBBBBB(もしくはAAAAAAAAAA,BBBBB@BBBBB) 【2行目】CCCCCCCCC,DDDDDDDDDD 行末の改行コードまで変換してはだめです。文字コードはUTF-8です。 よろしくお願い致します。

  • unixでテキストファイルの編集について

    ファイルの編集をしたいのですが、やり方がわかりません。 やりたい事は以下の通りです。 #--------------------------------------------------# ファイル1 の全レコードの 4バイト目~6バイト目を 'XXX' という文字列に編集して ファイル2 へ出力する。 ファイル1 ---------- aaaaaaaaaa bbbbbbbbbb cccccccccc   ↓(編集) ファイル2 ---------- aaaXXXaaaa bbbXXXbbbb cccXXXcccc #--------------------------------------------------# どなたか回答お願いします。

  • COBOL FILLER

    COBOLのFILLER項目の出力を質問させていただきます。 質問1 OUT1-FILE. 01 OUT-REC  02 FILLER PIC X(10). このファイルを何もせず WRITE で出力した場合は空ファイルが出力されますか?それとも"0000000000"が出力されますか? 質問2 またこのファイルをINITHILIZEした後WRITEでファイル出力したら何が出力されますか? 質問3 このファイルをMOVE ZERO TO OUT-REC した後WRITEでファイル出力したら何が出力されますか?

  • COBOLでの可変長定義について

    unix環境下でCOBOL85を使用しています。 あるデータを可変長でWRITEしていくのですが、 データにヘッダー情報みたいなものが付加されてしまい困っています。 ヘッダー情報を付加しないようにするにはどうすればいいのでしょうか? 定義:  FD Aファイル RECORD IS VARYING 1 TO 100 DEPENDING ON A-CNT.  01 A-DATA PIC X(100). とか  FD Aファイル RECORD IS VARYING IN SIZE DEPENDING ON A-CNT.  01 A-DATA PIC X(100). というパターンで試しています。 Aファイルにaaaという3バイトデータをWRITEすると、 COBOL85020315020304・・・・・aaaというデータが出力されます。 あるコボラーに聞くと「定義がおかしいからでしょう」と言ってたのですが、 どうおかしいかは本人もわからないようです。 どうすればヘッダー情報(COBOL85020315020304・・・・・)がつかず、 可変長でWRITEできるのでしょうか?教えて下さい。

  • ファイル出力時の

    以下のソースでファイル出力するのですが、 BufferedReader br = new BufferedReader(new FileReader(new File(args[0]))); PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(args[1]))); //一行読み込みを行った文字列を格納 String line; //一行読み込み while((line = br.readLine()) != null){ //一行書き込み pw.write(line); System.out.println(line); } コンソールへの出力は正常に出力されるのですが、 ファイルへの出力は改行されずに一行で出力されてしまいます。 どうすればファイル出力も正常になるか教えてください。

  • UNIXでの改行コードの置換

    2バイト改行コードが入ってるデータを1バイト改行に置換してから、 コボルにて入力ファイルとして扱いたいのですが、 UNIXのコマンドで、置換することは可能でしょうか? ちなみにファイルは可変長です。 どなたかご存知の方がいられましたら、ご教授頂けます様よろしくお願い致します。

  • 最終行の改行について

    CSVで出力しようとしてるのですが、 write #1,i;j などのように書くと、最終行の最後に改行が入ってしまいます。 これを解消する方法はないでしょうか。 よろしくおねがいします。

  • 文章の改行に就いて教えて下さい

    今晩は、当サイトに会員登録して間のない者ですが、皆様の投稿を見ていて、時々気になっていることがあります。 それは、一行の文字数が全角で、31文字迄なら画面を広げ無くても読めるのですが、中には45文字ぐらい書き込んでいるのを見かけます。然し、本文を送信する前の下書き、とでも云うべき所では26文字しか入りません。 26文字でどんどん書いていって、「投稿イメージの確認」画面で自動的に31文字に改行される様ですが、それも、一様では無いようで、思わぬ所で改行されます。では 45文字はどうやったら入れることが出来るのでしょうか 特別な設定とかがあるのでしょうか。 そこで次の2点に就いて教えて下さい。 1)一行30文字程度できちっと改行された、見やすい   文章を入力する方法 2)一行45文字或は、それ以上の文字を入力する方法 ちなみに私は、文字数の多い文を肯定している訳ではなく どうしたら、読みやすい文章を入力することが出来るかに 苦心しています。この投稿も何度も再編集をくりかえした あげく、見苦しい改行の文章となり、それを直すことが 出来ません、どうぞよろしくお願いします。

  • sedでの改行置換

    sedを用いた処理で質問があります。 出力結果の改行を置換して一列として表示しようとしているのですが、どうもうまくいきません。 (perlは敢えて使いません) 例えば、以下のようなファイルがあるとして、 $ cat hoge.txt hoge boo bar この出力結果を加工して、「hoge boo bar」のように、 改行をスペースに置換して一行として表示したい場合は、どのようにすれば良いでしょうか? ちなみに、以下のような使い方だと、うまくいきませんでした。 $ cat hoge.txt | sed 's/\ > / /g' $ cat hoge.txt | sed 's/\n/ /' ■実行環境 OS : RedHat EL 1 sedのバージョン : sed-4.0.7-3 宜しくお願い致します。

  • この入札履歴(詳細)見てください!!!おかしいですよね!?

    [4月 20日 8時 52分] AAAAAAAAAA自動入札。 3,400 [4月 20日 8時 52分] BBBBBBBBBB自動入札。 3,300 [4月 20日 8時 52分] AAAAAAAAAA自動入札。 3,300 [4月 20日 8時 52分] BBBBBBBBBB入札。数量: 1 で 3,200 [4月 20日 8時 52分] AAAAAAAAAA自動入札。 3,200 [4月 20日 8時 52分] BBBBBBBBBB自動入札。 3,100 [4月 20日 8時 52分] AAAAAAAAAA自動入札。 3,100 [4月 20日 8時 52分] BBBBBBBBBB入札。数量: 1 で 3,000 [4月 19日 23時 42分] AAAAAAAAAAA入札。数量: 1 で 3,000 [4月 17日 15時 10分] オークション開始。数量: 1 で 3,000 「AAAAAAA」と「BBBBBBB」の部分はIDを隠させていただきました。2名の方が順に入札していますが、8:52分に8回も入札されています。これは同じ方が2種類のIDで入札されているのでは、と不審に思っています。 今回が初出品なので、分からないことだらけなんですが、この入札履歴を見てどう思われるか経験者の方々お願い致します!! ちなみにあと4時間ほどで締め切りの時間です。

専門家に質問してみよう