Ⅰ c語言 讀一行
FILE *fin;
char namein[]="my_file.txt"; // 文件名
char *one_line; // 讀入的一行
int buff_size=120; //根據最長行字元定大小
if( ( fin = fopen(namein, "r") ) == NULL ) {
printf("can not open file %s\n",namein);
exit (-1);
};
one_line = (char *) malloc(buff_size * sizeof(char));
while ( fgets(one_line, buff_size,fin) !=NULL){
printf("I read: %s",one_line); // 讀一行打一行
};
fclose(fin);
------------
對每行進一步分析可以用
sscanf(one_line,"...",...);
Ⅱ C語言 如何一行行讀文件
#include<stdio.h>
#include<stdlib.h>
voidmain()
{
charb[25];
//打開文件
FILE*fp;
fp=fopen("D:\a.txt","r");
//獲取文件內容,每次讀一個字元,包括空格
for(inti=0;i<25;i++)
//fscanf(fp,"%c",&b[i]);
fgets(&b[i],2,fp);
fclose(fp);
//顯示讀取到的內容
for(inti=0;i<25;i++)
printf("%c",b[i]);
}
Ⅲ c語言怎樣按行讀取
區分讀取的源,有如下兩種情況:
1 從標准輸入讀取,即stdin。
可以使用gets函數:
char * gets(char *str);
該函數會從標准輸入中讀取一行數據,直到讀到\n,並將\n替換為字元串結束符\0,讀取到的數據以字元串形式存於str中。
需要注意的是,使用gets函數時,需要確保str指向空間大小,必須超過任意一行的長度,否則會出現越界操作。有些編譯器會報gets是不安全的,就是這個原因。
2 從文件讀取。
對於一個被打開的文件,如果其是可讀的,那麼可以通過fgets函數實現按行讀取。
char *fgets(char *buf, int bufsize, FILE *fp);
功能與gets類似,只是源不同。fgets從fp中讀一行數據存到buf中,同時會判斷bufsize,如果一行數據的長度超過了bufsize,那麼只讀入bufsize長度的數據,確保不會溢出。否則讀取整行。
由於在C語言中,標准輸入stdin也是以文件指針形式存在的,所以gets可以用
fgets(str, bufsize, stdin);
替代,這樣代碼量稍多一些,但可以更安全。
Ⅳ 用C語言怎麼讀入一行行的數據
fread()函數是用來讀取二進制文件的,就是說為建立存儲的東西,就像內從內存里把那段數據塊直接搬過來一樣,而不是用記事本打開就能看到裡面的內容,只是一堆亂碼。你的文本文件,可以用fscanf()函數來讀取。
把
fread(&F[n],sizeof(double),1024,fp);
改為
fscanf(fp,"%lf",&F[n]);
即可
Ⅳ c語言逐行讀取文件
可以使用fgets函數。
1 函數名:
fgets
2 聲明:
char *fgets(char *buf, int bufsize, FILE *stream);
3 頭文件:
stdio.h
4 功能:
從文件結構體指針stream中讀取數據,每次讀取一行。讀取的數據保存在buf指向的字元數組中,每次最多讀取bufsize-1個字元(第bufsize個字元賦'