1. c語言如何讀取文本文件中的一行數據啊
用fstream(文件流),fstream
file
然後
file.getline(char*,int,char
a=『\n』)第一個是一個存儲字元串的指針,第二個是要讀取的最大長度,第三個是行結束符,默認是回車,函數說明就是當讀入的字元超過最大長度int或者遇到行結束符(『\n』)時就停止,而且這個很好用的(對於讀入和寫入),你看看文檔就會了,哈哈,給分啊。!!~~
2. C語言怎樣讀取文本的每一行
可以使用fgets函數來實現。
1 函數名:
fgets
2 聲明形式:
char *fgets(char *buf, int bufsize, FILE *stream);
3 頭文件:
stdio.h
4 功能及參數說明:
從stream中讀取一行數據存到buf中。如果數據長度小於bufsize,那麼讀入整行數據,並將換行符轉換為字元串結束符\0。 如果數據長度超過bufsize,那麼只讀入bufsize大小的數據,並在結尾添加\0。
5 返回值:
成功,則返回第一個參數buf;
在讀字元時遇到end-of-file,則eof指示器被設置,如果還沒讀入任何字元就遇到這種情況,則buf保持原來的內容,返回NULL;
如果發生讀入錯誤,error指示器被設置,返回NULL,buf的值可能被改變。
3. 如何用c語言讀取txt文件中的其中一行
#include
"stdio.h"
#include
"string.h"
void
main()
{
int
n;
FILE
*fin;
char
s[25];
fin=fopen("c:\\a.txt","r");
fgets(s,25,fin);/*用fgets讀第一行到數組s中*/
n=strlen(s);
fseek(fin,n+1,SEEK_SET);/*將文件指針移到下一行*/
fgets(s,25,fin);/*讀取第二行的字元串*/
printf("%s",s);
}
這個是我寫的一個,如果你想讀到第n行的話,用一個for循環控制使文件指針移到第n行就行了
4. C語言如何讀取文件中指定的某一段
#include<stdio.h>
#include<string.h>
#define TBEGIN "B"
#define TEND "END B"
void main() { FILE *fp; char buffer[256];
if ( fp=fopen("c:\test.txt","r") ) {
while ( !feof(fp) ) { fgets(buffer,255,fp); if ( strcmp(buffer,TBEGIN)==0 ) break; }
while ( !feof(fp) ) {
fgets(buffer,255,fp); if ( strcmp(buffer,TEND)==0 ) break; else printf("%s ",buffer);
}
fclose(fp);
} else printf("無法打開文本文件. ");
}
5. c語言怎麼實現從文件中讀取指定行內容
//假設一行的文本內容不超過1000字元,如果估計超過,請自行修改函數中的1000
//如果打不開文件,返回NULL
//如果文件不足n行,返回NULL
//如果正獲得正常數據,返回str的地址
char
*getfileline(char
*p,int
n,
char
*str){
FILE
*fp;
int
i;
if
((fp=fopen(p,"r"))==NULL){
printf("打開文件錯誤\n");
return
NULL;
}
for(i=1;i<n;i++)
6. C語言中如何將文件中的某行的字元串讀取出來
所謂的某行你沒有給出確切的定義,通常讀文件採用的方法是將文件內容的全部,或者部分保存在緩存中,如果你是想讀取第幾行,那麼就可以使用字元指針,尋找緩存中的'\n',並進行計數,找到想要的行。
如果想讀取的是某個關鍵字所在的行,同樣是可以使用字元指針,使用strncmp方法尋找關鍵字所在的位置,或者直接使用strstr方法查找。
需求不明確的時候不容易確定最佳的查找方式。
7. C語言 怎麼用fgets()讀取一個txt文件中的任意行的信息
首先定義文件指針 fp=fopen("文件名稱","r");
然後用fseek()設置文件指針的位置;
最後用fgets()得到行信息;int fseek(FILE *stream, long offset, int fromwhere);函數設置文件指針stream的位置。如果執行成功,stream將指向以fromwhere為基準,偏移offset(指針偏移量)個位元組的位置,函數返回0。如果執行失敗(比如offset超過文件自身大小),則不改變stream指向的位置,函數返回一個非0值。
fgets()函數原型
char *fgets(char *buf, int bufsize, FILE *stream);
參數
*buf: 字元型指針,指向用來存儲所得數據的地址。
bufsize: 整型數據,指明存儲數據的大小。
*stream: 文件結構體指針,將要讀取的文件流。
8. c語言怎麼實現從文件中讀取指定行內容
//假設一行的文本內容不超過1000字元,如果估計超過,請自行修改函數中的1000
//如果打不開文件,返回NULL
//如果文件不足n行,返回NULL
//如果正獲得正常數據,返回str的地址
char *getfileline(char *p,int n, char *str){
FILE *fp;
int i;
if ((fp=fopen(p,"r"))==NULL){
printf("打開文件錯誤\n");
return NULL;
}
for(i=1;i<n;i++)
9. C語言怎麼讀取txt文件中一行的數據
打開文件 fopen("需要打開的路徑")
然後使用fgets函數讀取行
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#defineMAX_LINE1024
intmain()
{
charbuf[MAX_LINE];/*緩沖區*/
FILE*fp;/*文件指針*/
intlen;/*行字元個數*/
if((fp=fopen("test.txt","r"))==NULL)
{
perror("failtoread");
exit(1);
}
while(fgets(buf,MAX_LINE,fp)!=NULL)
{
len=strlen(buf);
buf[len-1]='