回覆列表
  • 1 # a不會愛的小笨蛋

    #include <stdio.h>#include <stdlib.h>#include <string.h>#define MaxCols 2000 //設定每行字元數不超過MaxCols,根據變化調整 //獲取已經開啟檔案fp的第line行內容到stri,如果成功返回得到的位元組數,//如果沒有那麼多行,返回-2 int getlinetxt(FILE *fp,int line,char *stri){ int i; fseek(fp,0,0); //指標到檔案最開始 for(i=0;i<line;i++) if(fgets(stri,MaxCols,fp)==NULL) //沒有這麼多行錯誤 return -2; return strlen(stri);}//獲取filename檔案的第line行內容到stri,如果成功返回得到的位元組數,//如果開啟檔案失敗,返回-1,如果沒有那麼多行,返回-2 int getfiletxt(char *filename,int line,char *stri){ FILE *fp; if ((fp=fopen(filename,"r"))==NULL){ //開啟檔案錯誤,返回-1 return -1; } return getlinetxt(fp,line,stri); fclose(fp);}int main(){ char s[MaxCols]; int row=10, flag; //以下例子是獲取d:\temp.txt的第10行文字內容 flag=getfiletxt("d:\\temp.txt",row,s); if (flag==-1) printf("開啟檔案錯誤\n"); else if(flag==-2) printf("檔案中的行數不足%d行\n",row); else printf("獲取到的文字是: \n%s包含最後的換行符,長度=%d\n",s,flag);}

  • 中秋節和大豐收的關聯?
  • 平安樹葉子出現斑點然後枯萎是怎麼回事"?