『壹』 C語言有沒有從文件中讀取一行字元串的方法
從文件中查找數據並輸出,按以下步驟操作:
1.
打開文件,如果文件未找到,報錯,結束
fopen
2.
輸入待查的字元串,存到變數中
gets
3.
逐行循環讀取文件,直到文件結束
fgets
4.
檢查字元串是否在該行中,如果在,則輸出該行,關閉文件,結束。否則繼續查找
strstr
5.
循環結束,輸出未找到該字元串。
6.
關閉文件。fclose
相關代碼和運行效果如下圖:
『貳』 C 如何讀取文件的一行
C語言獲得一行的數據還是比較麻煩的,這里講一下幾種曾經用過的方法。 第一種,是最笨的方法,就是一個一個字元的讀取,也是最容易想到的方法。具體實現如下: void read_line(char line[]){FILE *fp;char cChar;int i;fp=fopen("read.txt","r");i=0;cChar=fgetc(fp); while(cChar!='\n' && !feof(fp)){line[i]=cChar;i++;cChar=fgetc(fp);}line[i]='\0';return;}但是,這種方法效率比較低。 第二種,就是使用Linux環境下,有一個函數getline,說明如下: #define _GNU_SOURCE #include <stdio.h #include <stdlib.h int main(void){FILE * fp;char * line = NULL; size_t len = 0; ssize_t read; fp = fopen("/etc/motd", "r"); if (fp == NULL) exit(EXIT_FAILURE); while ((read = getline(&line, &len, fp)) != 1) { printf("Retrieved line of length %zu :\n", read); printf("%s", line);}if (line)free(line); return EXIT_SUCCESS;}第三種,如果使用C++的話,有一個方法比較簡單 ifstream in("read.txt"); string line;
『叄』 如何用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行就行了
『肆』 C語言如何讀取文本文件中的一行數據啊
用fstream(文件流),fstream
file
然後
file.getline(char*,int,char
a=『\n』)第一個是一個存儲字元串的指針,第二個專是要讀取的最大長度,屬第三個是行結束符,默認是回車,函數說明就是當讀入的字元超過最大長度int或者遇到行結束符(『\n』)時就停止,而且這個很好用的(對於讀入和寫入),你看看文檔就會了,哈哈,給分啊。!!~~
『伍』 C語言怎樣一行一行讀文件
C語言可以通過fgets函數一次讀一行數據。
fgets函數原型如下:
char *fgets(char *buf, int bufsize, FILE *stream);
參數 說明
*buf: 字元型指針,指向用專來存儲所得數屬據的地址。
bufsize: 整型數據,指明存儲數據的大小。
*stream: 文件結構體指針,將要讀取的文件流。
fgets函數注意細節如下:
從文件結構體指針stream中讀取數據,每次讀取一行。
讀取的數據保存在buf指向的字元數組中,每次最多讀取bufsize-1個字元(第bufsize個字元賦'