c語言讀取txt中數據類型
㈠ c語言讀取Excel或txt文件中的多類型數據
C語言可以通過兩種方法讀取CVS或TEXT中的多列數據的某一列
一是用scanf,像你的數據可以定義兩個變數,第一個是double
x,第二個為char
s[20];
當然,你可以用結構體,讀文件用
fscanf("%lf%s",&x,s);
//這樣就可以將第一列讀入x,第二列讀入s
另一方法,是直讀入一行,然後將它分隔到各列中,而分隔方法就多了,可以用sscanf,也可以用strtok,也可以自己寫程序逐個字元處理
㈡ c語言讀取txt文件裡面的數據
在C語言中,文件操作都是由庫函數來完成的。
要讀取一個txt文件,首先要使用文件打開函數fopen()。
fopen函數用來打開一個文件,其調用的一般形式為: 文件指針名=fopen(文件名,使用文件方式) 其中,「文件指針名」必須是被說明為FILE 類型的指針變數,「文件名」是被打開文件的文件名。 「使用文件方式」是指文件的類型和操作要求。「文件名」是字元串常量或字元串數組。
其次,使用文件讀寫函數讀取文件。
在C語言中提供了多種文件讀寫的函數:
·字元讀寫函數 :fgetc和fputc
·字元串讀寫函數:fgets和fputs
·數據塊讀寫函數:freed和fwrite
·格式化讀寫函數:fscanf和fprinf
最後,在文件讀取結束要使用文件關閉函數fclose()關閉文件。
下面以格式化讀寫函數fscanf和fprintf為例,實現對文件A.txt(各項信息以空格分割)的讀取,並將它的信息以新的格式(用製表符分割各項信息)寫入B.txt,實現對A.txt的處理。
C語言源程序如下所示:
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
typedef struct student{
char name[32];
int no;
char sex[16];
float score;
} stu;
int main(int argc, char* argv[])
{
//打開文件
FILE * r=fopen("A.txt","r");
assert(r!=NULL);
FILE * w=fopen("B.txt","w");
assert(w!=NULL);
//讀寫文件
stu a[128];
int i=0;
while(fscanf(r,"%s%d%s%f",a[i].name,&a[i].no,a[i].sex,&a[i].score)!=EOF)
{
printf("%s\t%d\t%s\t%g\n",a[i].name,a[i].no,a[i].sex,a[i].score);//輸出到顯示器屏幕
fprintf(w,"%s\t%d\t%s\t%g\n",a[i].name,a[i].no,a[i].sex,a[i].score);//輸出到文件B.txt
i++;
}
//關閉文件
fclose(r);
fclose(w);
system("pause");
return 0;
}
㈢ 如何用C語言讀取txt文件中的數據到結構體數組中
1、在vscode裡面添加了Python文件和用於讀取的文本文件。
㈣ 如何用c語言從txt文件中讀取數據
//其中的in.txt就是你要讀取數據的文件,當然把它和程序放在同一目錄
-------------------------------------
#include
<stdio.h>
int
main()
{
int
data;
file
*fp=fopen("in.txt","r");
if(!fp)
{
printf("can't
open
file\n");
return
-1;
}
while(!feof(fp))
{
fscanf(fp,"%d",&data);
printf("%4d",data);
}
printf("\n");
fclose(fp);
return
0;
}
㈤ C語言怎麼從TXT文件中讀入數據
像這種情況,有多種方法,最簡單的方法是:
1.用"記事本"創建a.txt文件,保存在一個文件夾中,設保存在d:之下
2.編寫程序,並運行
#include<stdio.h>
intmain()
{
inta[10][4];/*假定不超過10行,每行一定有4個元素*/
inti,j;
FILE*fp;
/*打開文件*/
fp=fopen("d:\a.txt","r");/*假設a.txt在d盤根目錄下*/
if(!fp)exit(0);
for(j=0;j<4;j++)/*假定有j行*/
for(i=0;i<4;i++)
fscanf(fp,"%d",&a[j][i]);/*讀一個數據*/
/*關閉文件*/
fclose(fp);
/*顯示運行結果*/
for(j=0;j<4;j++)/*假定有j行*/
{for(i=0;i<4;i++)
printf("%4d",a[j][i]);
printf(" ");
}
return0;
}
以上演示了文本文件的讀寫操作,供你參考.
在讀寫文件時,文件內部有一個"指針"會悄悄地變化(但你看不到),所以讀一個數據後,再讀可以得到下一個數據.
㈥ C語言如何實現對txt文件的讀取和寫入
1、使用VS新建空工程,直接點擊確定,如下所示。
㈦ c語言讀取txt文件內容
用C語言從txt文件中讀取數據,可以使用C標准庫文件自帶的文件介面函數進行操作。
一、打開文件:
FILE *fopen(const char *filename, const char *mode);
因為txt文件為文本文件, 所以打開時選擇的mode應為"r"或者"rt"。
二、讀取文件:
讀取文件應根據文件內容的格式,以及程序要求,選擇讀取文件的函數。可以使用一種,也可以幾種混用。 常用的文件讀取函數如下:
1、fgetc, 從文件中讀取一個位元組並返回。 適用於逐個位元組讀取。
2、 fgets, 從文件中讀取一行。適用於整行讀取。
3、fscanf, 格式化讀取文件, 在已經清楚文件存儲格式下,可以直接用fscanf把文件數據讀取到對應類型的變數中。
4、fread, 整塊讀取文件, 對於txt文件比較少用。
三、關閉文件:
讀取結束後,應調用fclose函數關閉文件。
㈧ C語言讀取文件如何直接將文件中的數字讀成int型的數字
通用方法是使用sscanf,例如
#include <stdio.h>
int main()
{
char s1[]="12345",s2[]="-123.456";
int a;
float b;
sscanf(s1,"%d",&a);
sscanf(s2,"%f",&b);
printf("%d %.3f ",a,b);
return 0;
}
㈨ C語言如何讀取txt文本裡面的內容
C語言可以使用fopen()函數讀取txt文本里。
示例:
#include <stdio.h>
FILE *stream, *stream2;
void main( void )
{
int numclosed;
/* Open for read (will fail if file "data" does not exist) */
if( (stream = fopen( "data", "r" )) == NULL )
printf( "The file 'data' was not opened " );
else
printf( "The file 'data' was opened " );
/* Open for write */
if( (stream2 = fopen( "data2", "w+" )) == NULL )
printf( "The file 'data2' was not opened " );
else
printf( "The file 'data2' was opened " );
/* Close stream */
if(fclose( stream2 ))
printf( "The file 'data2' was not closed " );
/* All other files are closed: */
numclosed = _fcloseall( );
printf( "Number of files closed by _fcloseall: %u ", numclosed );
}
(9)c語言讀取txt中數據類型擴展閱讀
使用fgetc函數
#include <stdio.h>
#include <stdlib.h>
void main( void )
{
FILE *stream;
char buffer[81];
int i, ch;
/* Open file to read line from: */
if( (stream = fopen( "fgetc.c", "r" )) == NULL )
exit( 0 );
/* Read in first 80 characters and place them in "buffer": */
ch = fgetc( stream );
for( i=0; (i < 80 ) && ( feof( stream ) == 0 ); i++ )
{
buffer[i] = (char)ch;
ch = fgetc( stream );
}
/* Add null to end string */
buffer[i] = '