how to modify input-output script to show how many line were copied.

1 回表示 (過去 30 日間)
Davifus
Davifus 2019 年 11 月 7 日
回答済み: Shubham Gupta 2019 年 11 月 8 日
ifn = input( 'input file name: ', 's' );
ofn = input('output file name: ', 's' );
ih = fopen( ifn, 'r' );
oh = fopen( ofn, 'w' );
ln = '';
while ischar( ln )
ln = fgets( ih );
if ischar( ln )
fprintf( oh, ln );
end
end
fclose( ih );
fclose( oh );
So running the script creates another .txt file of the same content as the input file. How do I change the script so it will print out the # of line it copied?

採用された回答

Shubham Gupta
Shubham Gupta 2019 年 11 月 8 日
Try:
ifn = input( 'input file name: ', 's' );
ofn = input('output file name: ', 's' );
ih = fopen( ifn, 'r' );
oh = fopen( ofn, 'w' );
ln = '';
count = 0;
while ischar( ln )
ln = fgets( ih );
if ischar( ln )
count = count + 1;
fprintf( oh, ln );
fprintf('Number of line(s) copied = %d\n',count) % edited line
end
end
fclose( ih );
fclose( oh );
If you want only final count of line it printed bring the 'edited line' outside the while loop. Let me know if you have doubts !

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeString Parsing についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by