필터 지우기
필터 지우기

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

조회 수: 2 (최근 30일)
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 CenterFile Exchange에서 String Parsing에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by