① c語言如何讀取文件並輸出
c語言讀取文件並輸出的代碼如下:
#include<stdio.h>
inta;
charb,c[100];
intmain(){
FILE*fp1=fopen("input.txt","r");//打開輸入文件
FILE*fp2=fopen("output.txt","w");//打開輸出文件
if(fp1==NULL||fp2==NULL){//若打開文件失敗則退出
puts("不能打開文件!");
return0;
}
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);//關閉輸出文件,相當於保存
return0;
}
C語言中使用fopen()函數實現文件的讀取,使用fgetc()函數讀取文件中的字元,使用fclose()實現文件的關閉,注意:打開文件流必須要關閉文件流,不然會持續佔用計算機內存資源。
(1)c語言讀文件操作擴展閱讀:
fopen函數
C語言中fopen函數可以兩個參數,fopen(const char *filename, const char *mode)。
第一個參數filename:這是 C 字元串,包含了要打開的文件名稱。
第二個參數mode:這是 C 字元串,包含了文件訪問模式。
② C語言讀取文件內容的程序
感覺你貼出來的代碼跟題目要求差距有點大啊
代碼(ps:這里輸入的文件名就是一個相對路徑,所以給定的測試文本要放在本程序同目錄下):
#include<stdio.h>
#include<stdlib.h>
voidmain()
{
FILE*fp;
charfilename[30],temp[1024];
intcount,i,flag=1;
printf("請輸入文件名:");
gets(filename);
if((fp=fopen(filename,"r"))==NULL)//文件不存在
{
printf("FileNameError ");
exit(0);
}
else//文件存在
{
printf("請選擇行數:");
scanf("%d",&count);
for(i=1;i<=count;i++)
{
if(fgets(temp,1024,fp)==NULL)//不存在第count行
{
flag=0;
break;
}
}
if(flag==0)
printf("LineNoError ");
else
printf("第%d行是:%s",count,temp);//列印第count行
}
fclose(fp);
}
測試文本內容:
③ 如何用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語言的文件讀寫操作
#include<stdio.h>
char exp[ 10 ][ 20 ]; //用來存放從文件中讀取的數據
//最多10行,每行長度最多為20
int maxline = 0; //記錄文件的總行數
int ReadTxt()
{
FILE *fp;
int i = 0;
if( ( fp = fopen( "input.txt", "r" ) ) == NULL ) return 1;
while( fgets( exp[ i ], 20, fp ) != NULL ) //讀取文件每行的數據
i++;
maxline = i;
fclose( fp );
return 0;
}
void main()
{
if( ReadTxt() ) {
printf( "數據文件input.txt打不開!\n" );
return;
}
for( int i = 0; i < maxline; i++ ) //輸出驗證結果是否正確
printf( "%s", exp[ i ] );
}
//自己上機測試時注意文件in.txt或in.dat存放的位置,以免調試時出錯。
⑤ 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、使用VS新建空工程,直接點擊確定,如下所示。
⑦ c語言讀取文本文件
1、C語言標准庫提供了一系列文件操作函數。文件操作函數一般以f+單詞的形式來命名(f是file的簡寫),其聲明位於stdio.h頭文件當中。例如:fopen、fclose函數用於文件打開與關閉;fscanf、fgets函數用於文件讀取;fprintf、fputs函數用於文件寫入;ftell、fseek函數用於文件操作位置的獲取與設置。
2、常式:
#include<stdio.h>
inta;
charb,c[100];
intmain(){
FILE*fp1=fopen("input.txt","r");//打開輸入文件
FILE*fp2=fopen("output.txt","w");//打開輸出文件
if(fp1==NULL||fp2==NULL){//若打開文件失敗則退出
puts("不能打開文件!");
rturn0;
}
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);//關閉輸出文件,相當於保存
return0;
}
⑧ c語言逐行讀取文件
可以使用fgets函數。
1 函數名:
fgets
2 聲明:
char *fgets(char *buf, int bufsize, FILE *stream);
3 頭文件:
stdio.h
4 功能:
從文件結構體指針stream中讀取數據,每次讀取一行。讀取的數據保存在buf指向的字元數組中,每次最多讀取bufsize-1個字元(第bufsize個字元賦'