當前位置:首頁 » 編程語言 » c語言逐行讀取txt

c語言逐行讀取txt

發布時間: 2023-01-14 21:55:25

c語言按行從TXT中讀取數據

x是int類型,數據是double類型,顯然數據格式適配。修改如下。


#include<stdio.h>

intmain(){
inti;
doublea[5];
if((fp=fopen("GPS.txt","rt"))==NULL){
printf("不能打開數據文件。 ");
return1;
}
for(i=0;i<5;++i){
fscanf(fp,"%lf",&a[i]);
printf("%lf ",a[i]);
}
fclose(fp);
//數據處理
return0;
}

❷ 關於C語言中文本文件的逐行讀取的實現

#include
<stdio.h>
int
ReadData(void)
{
unsigned
int
rc,
i,
get;
/*get為讀取一個位元組*/
FILE
*fp;
fp
=
fopen("helloworld.txt",
"r+");
if
(fp
==
NULL)
{
return
-1;
/*打開文件失敗返回-1*/
}
rc=0;
i=0;
while
((get
=
fgetc(fp))
!=
EOF)
{
if((char)get
==
'\n')
/*記錄換行符*/
{
rc
=
ftell(fp);
i++;
}
rc++;
}
return
i;
}
int
main()
{
int
row;
row
=
ReadData();
printf("Row
=
%d\n",
row);
/*列印文件行數*/
return
0;
}

❸ 請問一下 怎麼用c語言實現讀取一個txt文件里的數據 要按行讀出來

可以用C++的流來做,包含fstream頭文件,定義一個ifstream輸入流,用getline函數讀一行數據,當然讀了之後可以把
#include<fstream>
#include<iostream>
using namespace std;

void main()
{
ifstream in("####");//傳入文件名
string str;//用於放一行數據
getline(in,str);//重點,很簡單吧
cout<<str<<endl;
in.close();
}
如果只是讀數字的話,甚至可以這樣來做
double value;
in>>value;//這樣程序會忽略空白符讀入一個double型的數據
其實C和C++本就是一脈相承,所以就用C++回答了

❹ C語言中從.txt文件中按行讀取字元串至數組中,怎麼寫

可以設定文件名為in.txt, 存有一系列整型數據,以空格或換行分隔寫。

代碼如下:

#includeintmain()

{

intv[100];//開一個足夠大的數組。

inti=0,j;

FILE*fp;//文件指針fp=fopen("in.txt","r");//以文本方式打開文件。

if(fp==NULL)//打開文件出錯。

return-1;

while(fscanf(fp,"%d",&v[i])!=EOF)//讀取數據到數組,直到文件結尾(返回EOF)

i++;

fclose(fp);//關閉文件

for(j=0;j<i;j++)//循環輸出數組元素。

{

printf("%d",v[j]);

}

return0;

}

(4)c語言逐行讀取txt擴展閱讀

1、字元數組的初始化,最容易理解的方式就是逐個字元賦給數組中各元素。

2、如果花括弧中提供的字元個數大於數組長度,則按語法錯誤處理;若小於數組長度,則只將這些字元數組中前面那些元素,其餘的元素自動定為空字元(即 '' )。

❺ C語言如何按行讀取文本文件

C語言如何按行讀取文本文件

這是一個C語言按行讀取文本文件的例子。
輸入一個文本文件a.txt,按行讀取文本內容:

注意,這個工具沒有處理多行('\')拼接的場景。

❻ c語言逐行讀取文件

可以使用fgets函數。

1 函數名:

fgets

2 聲明:

char *fgets(char *buf, int bufsize, FILE *stream);

3 頭文件:

stdio.h

4 功能:

從文件結構體指針stream中讀取數據,每次讀取一行。讀取的數據保存在buf指向的字元數組中,每次最多讀取bufsize-1個字元(第bufsize個字元賦''),如果文件中的該行,不足bufsize個字元,則讀完該行就結束。如若該行(包括最後一個換行符)的字元數超過bufsize-1,則fgets只返回一個不完整的行,但是,緩沖區總是以NULL字元結尾,對fgets的下一次調用會繼續讀該行。函數成功將返回buf,失敗或讀到文件結尾返回NULL。因此我們不能直接通過fgets的返回值來判斷函數是否是出錯而終止的,應該藉助feof函數或者ferror函數來判斷。


5 參數:

*buf:字元型指針,指向用來存儲所得數據的地址。

bufsize:整型數據,指明存儲數據的大小。

*stream:文件結構體指針,將要讀取的文件流。


6 返回值:

成功,則返回第一個參數buf;

在讀字元時遇到end-of-file(文件結尾),則eof指示器被設置,如果還沒讀入任何字元就遇到這種情況,則buf保持原來的內容,返回NULL;

如果發生讀入錯誤,error指示器被設置,返回NULL,buf的值可能被改變。


7 示例代碼:

逐行讀取in.txt中的數據,並列印。每行不超過100個字元。

intmain()
{
FILE*fp;
charbuf[101];
fp=fopen("in.txt","r");//打開文件
while(fgets(buf,sizeof(buf),fp))//每次讀取一行數據,直到讀取失敗。
{
printf("%s ",buf);//列印該行。
}
fclose(fp);//關閉文件。

return0;
}

❼ C語言逐行讀取txt中的數據,並保存到數組中

#include<stdio.h>
intmain(void){
FILE*fin=fopen("file.txt","r");/*假設文件名為file.txt*/
inta[100],i;
for(i=0;i<100;i++){
fscanf(fin,"%d",&a[i]);
}
fclose(fin);
/*此時已經讀取完畢,可以進行接下來的處理了*/
return0;
}

❽ 關於C語言中文本文件的逐行讀取的實現

若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。

以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。

C語言中文本文件的逐行讀取的實現的代碼如下:

#include<stdio.h>

main()

{

FILE * fp;

fp=fopen(「noexist」,」a+」);

if(fp= =NULL) return;

fclose(fp);

}

(8)c語言逐行讀取txt擴展閱讀

1、如果輸入文本每行中沒有空格,則line在輸入文本中按換行符分隔符循環取值。

2、如果輸入文本中包括空格或製表符,則不是換行讀取,line在輸入文本中按空格分隔符或製表符或換行符特環取值。

3、可以通過把IFS設置為換行符來達到逐行讀取的功能。

❾ C語言讀取文件內容,按行讀

C語言逐行讀取文件內容 ,參考代碼如下:

#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]='';/*去掉換行符*/
printf("%s%d ",buf,len-1);
}
return0;
}

❿ C語言 如何一行行讀文件

C語言中,使用fgets函數遍可以一行行讀取文件。
1、fgets函數:
原型:char
*
fgets(char
*
buf,
int
bufsize,
FILE
*
stream);
功能:從文件結構體指針stream中讀取數據,每次讀取一行。
說明:讀取的數據保存在buf指向的字元數組中,每次最多讀取bufsize-1個字元(第bufsize個字元賦值為\0)。如果該行不足bufsize個字元,則讀完該行就結束,如果該行超過bufsize-1個字元,則fgets只返回一個不完整的行,buf緩沖區以\0字元結束,下一次fgets調用會繼續讀取該行剩餘的字元;
頭文件:stdio.h;
返回值:若讀入成功,返回與參數buf相同的字元指針,若讀入過程中遇到EOF或發生錯誤,返回NULL指針。所以當遇到返回值為NULL的情況時,應使用ferror或feof函數檢查是發生錯誤還是遇到EOF。
2、常式:
#include
int a;
char b,c[100];
int main(){
FILE * fp1 = fopen("input.txt", "r");//打開輸入文件
FILE * fp2 = fopen("output.txt", "w");//打開輸出文件
if (fp1==NULL || fp2==NULL) {//若打開文件失敗則退出
puts("不能打開文件!");
rturn 0;
}
fscanf(fp1,"%d",&a);//從輸入文件讀取一個整數
b=fgetc(fp1);//從輸入文件讀取一個字元
fgets(c,100,fp1);//從輸入文件讀取一行字元串
printf("%ld",ftell(fp1));//輸出fp1指針當前位置相對於文件首的偏移位元組數
fputs(c,fp2);//向輸出文件寫入一行字元串
fputc(b,fp2);//向輸出文件寫入一個字元
fprintf(fp2,"%d",a);//向輸出文件寫入一個整數
fclose(fp1);//關閉輸入文件
fclose(fp2);//關閉輸出文件,相當於保存
return 0;
}

熱點內容
outlook郵件的伺服器是什麼 發布:2025-07-15 09:45:59 瀏覽:482
如何安排資產配置 發布:2025-07-15 09:33:24 瀏覽:906
更新傳送伺服器目的地址失敗 發布:2025-07-15 09:27:05 瀏覽:484
c語言else的用法 發布:2025-07-15 09:19:54 瀏覽:119
tnt蘋果核安卓怎麼加好友 發布:2025-07-15 09:05:15 瀏覽:239
年輕人運行內存為什麼比安卓好 發布:2025-07-15 08:52:03 瀏覽:515
怎麼配置組策略 發布:2025-07-15 08:52:02 瀏覽:246
pythonjson格式 發布:2025-07-15 08:42:54 瀏覽:678
醫院葯房要什麼配置 發布:2025-07-15 08:29:55 瀏覽:666
編程說明書 發布:2025-07-15 08:16:39 瀏覽:761