アプリ版:「スタンプのみでお礼する」機能のリリースについて

よろしくお願いします。

データファイルAからデータを取得して、テキストファイルBの内容の一部を取得したデータで書き換えるという操作を行うプログラムを作りたいです。

具体的には、
データファイルA[A.txt]の中身
111
222
333
444

テキストファイルB[B.txt]
文字列1="123"
文字列2="234"
文字列3="345"
文字列4="456"

というような二つのファイルを読み込み、B.txtの""で囲まれた部分を、A.txtで取得したデータで置き換えるような操作を行いたいのですが・・。

使用する言語としてはスクリプト言語であるperl、もしくはプログラム作成経験があるCを使用しようと思っています。(perlは未経験で入門書を読んでいるレベル)

A 回答 (2件)

こんな感じでいかが?


何がどうなっているかは、調べてみてください!
------------------------------------------------------
use strict;
use warnings;

open (my $fh1, "<", "A.txt") or die "$!";
chomp(my @data_a = <$fh1>);
close $fh1;

open (my $fh2, "+<", "B.txt") or die "$!";
my @data_b = <$fh2>;
for(my $i=0; $i<@data_b; $i++){
$data_b[$i] =~ s/".+"/"$data_a[$i]"/;
}
seek $fh2, 0, 0;
truncate $fh2, 0;
print $fh2 @data_b;
close $fh2;
------------------------------------------------------
    • good
    • 0
この回答へのお礼

サンプルプログラムありがとうございました。
何がどういう動きをしているのか調べてperlを学習していきます。

お礼日時:2008/11/09 18:32

そのままPERLを勉強しつづければ、なんてことなく解決すると思います。

C言語だとだるいかもしれません。
具体的にどうやるのかを説明してもよいのですが、失礼ながら、ご自身でやり方が分からないという時点で、説明しても多分分からないと思いますので割愛。

PERLの文字列処理は楽ちん、
C言語の文字列処理はゲロゲロと心得ておくとお得ですよ。
    • good
    • 0
この回答へのお礼

C言語と比較したときのperlの利点の一つがわかりました。
ありがとうございました。

お礼日時:2008/11/09 18:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!