程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c++-這個小程序while裡的每一步解釋?

c++-這個小程序while裡的每一步解釋?

編輯:編程綜合問答
這個小程序while裡的每一步解釋?

#include
#include
#define MAX 81

int main(void)

{
char name[30],content[MAX];
int row,column;
FILE *fp;
printf("input the name of file:");
gets(name);
if( ( fp=fopen(name,"r") ) == NULL )
{
printf("Can't open %s",name);
exit(1);
}
printf("input the row and column to output:");
while ( scanf("%d%d",&row,&column) == 2 )//求每一步解釋
{
row--,column--;
fseek(fp,0,SEEK_SET);
while (row--) fgets(content,MAX,fp);//簡便起見,未做一些越界判斷
fseek(fp,column,SEEK_CUR);
fgets(content,MAX,fp);
printf(content);
printf("input the start position to output:");
}
printf("Quit\n");

return 0;

}
編寫一個程序,打開一個文本文件,文件名通過交互方式獲得。建立一個循環,請求用戶輸入一個文件位置。然後程序打印文件中從該位置開始到下一換行符之間的部分。用戶通過輸入非數字字符來終止輸入循環。
while循環裡的都是啥意思?row,column的作用??

最佳回答:


    while ( scanf("%d%d",&row,&column) == 2 )//讀入行、列2個值後進入循環,例如讀入4 3;讀入不是1個值就退出循環
    {
        row--,column--;//行列值各減1,為3 2
        fseek(fp,0,SEEK_SET);//定位文件指針到開頭
        while (row--) fgets(content,MAX,fp);//讀3行
        fseek(fp,column,SEEK_CUR);//定位文件指針從當前位置後移2列
        fgets(content,MAX,fp);//讀入從當前位置讀入1行
        printf(content);//輸入讀入的內容
        printf("input the start position to output:");
    }
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved