本文目錄一覽:
在c語言中,如何讀取一個txt文件中的信息
一般來說在C語言中讀取txt文件的信息有兩種方法,一種是使用C語言標準文件I/O中的fopen()、fread()等等函數,一種是調用操作系統中的API函數,比如Windows上的ReadFile()、OpenFile()等等,現在操作系統一般都具備內存文件映射功能,對於大的txt文件,一般都使用這種方式操作。下面是一個使用C語言標準文件I/O操作文件的例子。
#includestdio.h
FILE*stream;
void main(void)
{
long l;
float fp;
char s[81];
char c;
stream=fopen(“fscanf.out”,”w+”);
if(stream==NULL)
printf(“Thefilefscanf.outwasnotopened\n”);
else
{
fprintf(stream,”%s%ld%f%c”,”hello world”,
65000,3.14159,’x’);
/*Setpointertobeginningoffile:*/
fseek(stream,0L,SEEK_SET);
/*Readdatabackfromfile:*/
fscanf(stream,”%s”,s);
fscanf(stream,”%ld”,l);
fscanf(stream,”%f”,fp);
fscanf(stream,”%c”,c);
/*Outputdataread:*/
printf(“%s\n”,s);
printf(“%ld\n”,l);
printf(“%f\n”,fp);
printf(“%c\n”,c);
fclose(stream);
}
}
C語言中讀取txt文件內容
樓主朋友,你的程序中的問題出在分配空間不足上。比如當你想讓a[j]指向某段內存時,用的是
a[j]=(char *)malloc(sizeof(char)); 而到了後面你是要在這段內存中存入一個字元串的,所以就發生了越界。下面是我根據你的代碼片段寫的一個測試程序,經過修改應該沒問題了。
#include stdio.h
#include stdlib.h
int main (void)
{
char path[]=”12345.txt”;
FILE *create;
if((create=fopen(path,”r”))!=NULL)
{
int j; char **a;
a=(char **)malloc(100*sizeof(char*)); //此處如果只申請一個char *大小的空間時,
//你以後的a[j]往哪裡放?此處的100是假設你的文件中有100行信息。如果超過100還得多分配
for (j=0;;j++)
{
a[j]=(char *)malloc(10000*sizeof(char)); //此處只申請一個字元的空間,後面讀取
//長度為10000的字元串就沒地方存放了
fgets(a[j],10000,create);
printf(“%s”,a[j]); //測試讀取是否成功,將文件中信息顯示到屏幕上
if(feof(create)!=0)
{
for(;j=0;j–)
free(a[j]);
break;
}
}
free(a);
}
else
printf(“Fail to open the file.\n”);
fclose(create);
printf(“\n”);
}
c語言從txt中讀取數據
你的程序我已經調試過了,主要改動:
if((p=fopen(“e:\\stu.txt”,”r”))==NULL)/*你建的txt文檔不是二進位文件,二進位文件要通過程序輸入,讀出來是亂碼的,你能讀出來的是ASCII文件*/
fscanf(p,”%s%d”,stu[i].name,stu[i].num);/*一般操作文本文檔是用fscanf()和fprintf()的*/
printf(“%s %d\n”,stu[i].name,stu[i].num);/*注意%s和%d之間是有空格的,不然運行出來的結果和原文件是有差別的,細節決定成敗,考試經常考的*/
運行結果和你的stu.txt完全相同!希望能夠幫到你!
C語言中如何讀取txt文件中指定的數據
//其中的in.txt就是你要讀取數據的文件,當然把它和程序放在同一目錄
————————————-
#include
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、使用VS新建空工程,直接點擊確定,如下所示。
2、新建c文件,用於C語言編譯器,輸入main.c文件,如下所示。
3、參考代碼:
#include stdio.h
int main()
{
//下面是寫數據,將數字0~9寫入到data.txt文件中
FILE *fpWrite=fopen(“data.txt”,”w”);
if(fpWrite==NULL)
{
return 0;
}
for(int i=0;i10;i++)
fprintf(fpWrite,”%d “,i);
fclose(fpWrite);
//下面是讀數據,將讀到的數據存到數組a[10]中,並且列印到控制台上
int a[10]={0};
FILE *fpRead=fopen(“data.txt”,”r”);
if(fpRead==NULL)
{
return 0;
}
for(int i=0;i10;i++)
{
fscanf(fpRead,”%d “,a[i]);
printf(“%d “,a[i]);
}
getchar();//等待
return 1;
}
4、編譯完成後,運行exe程序,執行後顯示console程序。
原創文章,作者:BWEJ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/131977.html