ショッピングモール  


【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※マルチポスト(多重投稿)は謹んで!

 詳しくはこちら



 本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール   掲示板1こちら


管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧

No.2983

入出力用に開いたファイルを編集する場合に、ファイル中の1行の長さを変更したい
投稿者---DAI(2004/11/18 10:25:25)


こんにちは。

ファイル処理についてご質問させていただきます。

入出力用に開いたファイル中の1行の長さを変更したいのですが、
やり方がわかりません。
以下が編修したいファイルで、「COUNT 5」の数字の桁数
を変更したいと思っています。(--はファイルには含みません)

ファイル名 include.h
-------------------------------------------
#define COUNT 5
#define SUM 10
-------------------------------------------


以下ソースです。
ファイル名 fileope.cpp
-------------------------------------------
int main(int argc, char* argv[]){

  unsigned int count = 0; //変更する数字

  fstream finout("include.h",ios::in |ios::out); //入出力ファイル

  count = atoi(argv[1]);

  finout.seekg(0,ios::beg);
  finout<<"#define COUNT "<<count<<endl; //引数を出力
  finout.close();

  return 0;
}

-------------------------------------------


COUNTの桁数を増やし、「COUNT 55」等に変更した場合、
次の行の1文字目が消えてしまいます。


ここで自由に桁数を変えたい場合(元々55だった場合に、5にしたい場合もあり)、
どのようにしたらよいのでしょうか?


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:入出力用に開いたファイルを編集する場合に、ファイル中の1行の長さを変更したい 2985 YuO 2004/11/18 10:46:53
<子記事> Re:入出力用に開いたファイルを編集する場合に、ファイル中の1行の長さを変更したい 2987 Hermit 2004/11/18 11:12:26


No.2985

Re:入出力用に開いたファイルを編集する場合に、ファイル中の1行の長さを変更したい
投稿者---YuO(2004/11/18 10:46:53)


>入出力用に開いたファイル中の1行の長さを変更したいのですが、
>やり方がわかりません。

行の文字数が変わる場合,いったん全部読み込んで,
書き戻す以外の方法は使えません。
#処理系によってはあるのかもしれないが,最低でも標準の範囲内にはない。



この投稿にコメントする

削除パスワード

No.2987

Re:入出力用に開いたファイルを編集する場合に、ファイル中の1行の長さを変更したい
投稿者---Hermit(2004/11/18 11:12:26)


一行の文字数を固定にするのじゃいけないのでしょうか?
入力できる可能性が、-2000000000
それ分を、スペースで埋めておけばいいだけではないのかな・・・


この投稿にコメントする

削除パスワード

No.2988

Re:入出力用に開いたファイルを編集する場合に、ファイル中の1行の長さを変更したい
投稿者---DAI(2004/11/18 11:29:13)


>一行の文字数を固定にするのじゃいけないのでしょうか?
>入力できる可能性が、-2000000000
>それ分を、スペースで埋めておけばいいだけではないのかな・・・

YuOさん、Hermitさん、ご回等ありがとうございました。

Hermitさんのおっしゃるやり方で、入出力を行うファイルで
defineの間隔をあらかじめあけておき、実行時の引数の長さに応じて、
出力のスペースをあわせるようにしました。

ありがとうございました。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧




掲示板提供:Real Integrity