UNIX プラットフォームの C プログラミングで、テキスト ファイルから行の一部を抽出し、それを新しいファイルに出力しようとしています。たとえば、次のように file1.txt があります。
デバイス: ABCDE1
日付: 12/12/12
オペレーター=John Doe
そして、file2.txtに次のように表示したいと思います:
ABCDE1、12/12/12、ジョン・ドウ。
ここに私がこれまでに持っているコードがあります。ファイルの一部を開いたり書き込んだりしましたが、「Device:」の後に情報を抽出する方法がわかりませんでした。「Divice:」自体を表示しません。私のコードは、file1 の最初の行をコピーし、それをファイル 2 に入れます。
#include "stdio.h"
main()
{
FILE *fs, *ft;
char ch ;
char file[100]="" ;
char Device [100];
char Date [80];
printf ("Enter file name and directory:");
scanf ("%s",&file);
fs = fopen (file, "r") ;
if ( fs == NULL )
{
puts ( "Cannot open source file" ) ;
exit( ) ;
}
ft = fopen ( "file2.txt", "w" ) ;
if ( ft == NULL )
{
puts ( "Cannot open target file" ) ;
fclose ( fs ) ;
exit( ) ;
}
fscanf(fs, "%s %s", Device,Date);
fprintf(ft, "%s %s\n", Device,Date);
fclose ( fs ) ;
fclose ( ft ) ;
return 0;
}
fscanf() はこれに使用するのに適したコマンドですか? またはこれを機能させるために提案された他のコマンドはありますか? 前もって感謝します。