回覆列表
-
1 # a不會愛的小笨蛋
相關內容
- C語言裡面字串函式strcmpbcmp區別?
- C語言裡如何輸入幾個字串放到一個數組中?
- C語言指標,函式連線兩個字串?
- C語言如何把一個字串轉換成數字?
- 如何用C語言把一行字串的大寫字母轉換成小寫字母,小寫字母轉換成大寫,其他字元?
- c語言如何輸出有空格的字串?
- java中什麼類裡面有這樣的方法:從檔案(此檔案存放著一篇文章)中讀取單個字串(單詞)?
- C語言。輸入一個字串,內有陣列和非數字字元,將其中連續的數字作為一個整數,依次存放到一陣列a中?
- C語言程式設計,寫一個函式,使輸入的一個字串按反序存放,在主函式中輸入和輸出字串。求下面程式解釋?
- C語言題目寫一個函式,使輸入的一個字串按反序存放,在主函式中輸入和輸出字串?
#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);}