當前位置:首頁 » 辦公資訊 » c語言怎樣從文件中輸出內容

c語言怎樣從文件中輸出內容

發布時間: 2022-06-11 00:55:03

Ⅰ c語言中如何將保存文件中的信息輸出來

你如果不知道文件的格式,那沒法輸出,你如果知道格式,把信息從文件中讀出來,再依照格式來處理就能夠了

Ⅱ C語言:在當前目錄下的文件中查找記錄並輸出到屏幕,咋編

代碼文本:

#include "stdio.h"

#include <string.h>

struct STU{

char nm[21],id[12];

int s[5];

};

int main(int argc,char *argv[]){

struct STU stu;

char ts[21];

FILE *fp;

if(fp=fopen("stu.dat","r")){

printf("Please enter a name or ID... ");

scanf("%20s",ts);

printf(" To find the result is: ");

while(fscanf(fp,"%s%s%d%d%d%d%d",stu.nm,stu.id,stu.s,stu.s+1,stu.s+2,stu.s+3,stu.s+4)!=EOF)

if(strcmp(ts,stu.nm)==0 || strcmp(ts,stu.id)==0){

printf(" %s %s%4d%4d%4d%4d%4d ",stu.nm,stu.id,stu.s[0],stu.s[1],stu.s[2],stu.s[3],stu.s[4]);

fclose(fp);

return 0;

}

printf("Not find... ");

fclose(fp);

}

else

printf("Open the file failure, exit... ");

return 0;

}

Ⅲ 如何用c語言輸出一個文件中的數據

循環讀取文件 顯示在屏幕上即可。

FILE*fp=fopen("a.txt","r");
intc;
while((c=fgetc())!=EOF)
putchar(c);
fclose(fp);

這個是逐個位元組讀取輸出的。

Ⅳ 怎樣用C語言輸出一文件的內容

無法直接輸出文件內容,需要先將文件讀入到內存,再輸出到標准輸出上。

可以採用逐個字元讀入,每讀入一個輸出一個的方式。
區分文件類型,操作有所不同。

1 文件本身為文本文件,那麼逐個直接輸出即可。
FILE *fp = fopen("name.txt", "r");
int c;
while((c=fgetc(fp))!=EOF) putchar(c);

2 文件為二進制文件,直接輸出結果會是亂碼。這時需要輸出二進制值,並自行換行,使得輸出美觀。
FILE *fp = fopen("name.bin", "rb");
int c;
int i = 0;
while((c=fgetc(fp))!=EOF)
{
printf("0x%02X,", c);//16進制方式輸出字元。

i++;

if(i%8==0) printf("\n"); //每輸出8個字元換行一次。

}

Ⅳ C語言中如何輸出文件中的指定行全部內容

  1. 先用將文件中所有內容讀到二維字元數組buf[][]中。

  2. 要輸出第x行的內容,直接輸出buf[x-1]即可

  3. 全部讀入還有一個好處,當要修改文件內容時,先讀入數組,在數組中做修改,再寫迴文件,遠比在文件中直接修改方便得多。


  4. #include<stdio.h>

    #defineM10010
    #defineN256
    charbuf[M][N];

    intmain(){
    FILE*file;
    charfileName[50]="in.txt";//文件名

    //讀入
    file=fopen(fileName,"r");//打開文件
    if(file==NULL)//打開文件失敗
    return1;
    intn=0;
    while(fgets(buf[n],N,file)!=NULL){//依次讀取文件內容,第n+1行讀到buf[n]中,直到讀到文件結束
    n++;
    }
    fclose(file);//關閉文件

    //顯示第x行
    inti,x;
    scanf("%d",&x);//讀入要顯示的是第幾行
    printf("%s",buf[x-1]);//顯示該行

    //修改
    buf[0][0]='X';
    //...

    //寫回
    file=fopen(fileName,"w");//打開文件
    if(file==NULL)//打開失敗
    return1;
    for(i=0;i<n;i++)//buf中的內容寫到文件
    fprintf(file,"%s",buf[i]);
    fclose(file);//關閉並保存文件
    return0;
    }

Ⅵ c語言如何讀取文件並輸出

1、C語言標准庫提供了一系列文件操作函數。文件操作函數一般以f+單詞的形式來命名(f是file的簡寫),其聲明位於stdio.h頭文件當中。例如:fopen、fclose函數用於文件打開與關閉;fscanf、fgets函數用於文件讀取;fprintf、fputs函數用於文件寫入;ftell、fseek函數用於文件操作位置的獲取與設置。
2、常式:
#include<stdio.h>
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;
}

Ⅶ C語言如何從文本文件中輸出指定行文字

提供一個思路
ascii表示的符號范圍。
你可以判斷字元串,是否為ascii碼,是忽略。
不是,輸出。
上面的變數還應該定義一些操作字元串的指針。
相關有關編碼信息參考以下babybubble網路知道:
c/c++支持的是ascii,不過漢字編碼中,gb2312與ascii是兼容的,所以可以在c中獲得漢字的gb2312編碼
gb2312是兩個位元組的,第一位元組是高八位,第二位元組是低八位,比如下面的程序:
#include

#include

int
main()
{
char
a[5];
strcpy(a,"啊");
printf("%xh
%xh\n",(unsigned
char)a[0],(unsigned
char)a[1]);
return
0;
}
a[0]是「啊」字的高八位,a[1]是低八位,程序運行結果是a[0]=b0
a[1]=a1,用16進製表示的,所以「啊」字的gb2312編碼是b0a1了~
輸出時要強制轉換成unsigned
char,不然就變成負數了,因為編碼是以8位的無符號整數為單位的
當然也可以轉成10進制啦,比如
int
b;
b=(unsigned
char)a[0]*256+(unsigned
char)a[1];
b即為漢字的10進制gb2312編碼了

Ⅷ c語言怎麼把東西寫到文件里,再從文件輸出到屏幕上

用WritePrivateproFileString()和GetPrivateproFileString()兩個函數就可以了啊,不用打開文件,關閉文件,定位,移動文件指針之類的

為防止有人說C下不能用, 特寫一個簡單的

#include<stdio.h>
#include<stdlib.h>
#include<windows.h>

structSTRUCT
{
charname[20];
floatchinese;
floatmath;
};

charfilename[]={"z:\1.txt"};
structSTRUCTs[3];
intcount=0;

intmain()
{
inti;
for(i=0;i<3;i++)
{
printf(" 請輸入第%d個學生信息(姓名語文數學)用空格間隔: ",i+1);
fflush(stdin);
scanf("%s%f%f",s[i].name,&s[i].chinese,&s[i].math);
}
chartemp[3];
charstr[20];
WritePrivateProfileStringA("All","count","3",filename);
for(i=0;i<3;i++)
{
sprintf(temp,"%d",i+1);
WritePrivateProfileString(temp,"name",s[i].name,filename);
sprintf(str,"%.1f",s[i].chinese);
WritePrivateProfileString(temp,"chinese",str,filename);
sprintf(str,"%.1f",s[i].math);
WritePrivateProfileString(temp,"math",str,filename);
}
return0;
}

Ⅸ C語言怎樣將文本文件中的內容讀取列印

使用文件操作函數fopen,fscanf即可。
1.fopen的函數原型:FILE
*
fopen(const
char
*
path,const
char
*
mode);

fopen函數的第一個參數是文件路徑,第二個參數是打開方式,有以下幾種方式:
r
以只讀方式打開文件,該文件必須存在。
r+
以可讀寫方式打開文件,該文件必須存在。
rb+
讀寫打開一個二進制文件,允許讀數據。
rw+
讀寫打開一個文本文件,允許讀和寫。
w
打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。
w+
打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。
a
以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。(EOF符保留)
a+
以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。
(原來的EOF符不保留)
wb
只寫打開或新建一個二進制文件;只允許寫數據。
wb+
讀寫打開或建立一個二進制文件,允許讀和寫。
wt+
讀寫打開或著建立一個文本文件;允許讀寫。
at+
讀寫打開一個文本文件,允許讀或在文本末追加數據。
ab+
讀寫打開一個二進制文件,允許讀或在文件末追加數據。
上述的形態字元串都可以再加一個b字元,如rb、w+b或ab+等組合,加入b
字元用來告訴函數庫打開的文件為二進制文件,而非純文字文件。

返回值:文件順利打開後,指向該流的文件指針就會被返回。如果文件打開失敗則返回NULL,並把錯誤代碼存在errno中。
2.常式:
#include<stdio.h>
#define F_PATH "d:\\myfile\\file.dat"
char c;
int main(){
FILE*fp=NULL;//需要注意
fp=fopen(F_PATH,"r");
if(NULL==fp) return -1;//要返回錯誤代碼
while(fscanf(fp,"%c",&c)!=EOF) printf("%c",c); //從文本中讀入並在控制台列印出來
fclose(fp);
fp=NULL;//需要指向空,否則會指向原打開文件地址
return 0;
}

Ⅹ C語言中,如何將文本文件的內容輸出到屏幕

#include <stdio.h>
#define MAX 50 /* 文件名長度最大為 MAX 個字元 */
#define BUFFERLEN /* 文件緩沖區長度最大為 BUFFERLEN 個字元 */
void main( )
{
FILE * fpr ; /* 定義一個文件指針變數 fpr */

char my_filename[MAX], buffer[BUFFERLEN] ;

gets(my_filename) ; /* 從鍵盤上輸入要打開的文本文件名 */

fpr = fopen(my_filename, "r" ) ; /* r:以文本方式打開文件 */

if( fpr == NULL ) /* 若文件打開失敗,則輸出錯誤信息,並直接退出程序 */

{

printf("Can't open %s for read !\n", my_filename ) ;

exit(1) ;

}

fgets(buffer, BUFFERLEN, fpr ) ; /* 從文本文件中讀取一行數據 */

while( !feof(fpr) ) /* 當文件沒有結束時,輸出一行文本內容到屏幕 */

{

printf("%s", buffer) ;

fgets(buffer, 500, fpr) ; /* 再從文本文件中讀取下一行數據 */

}

fclose(fpr) ; /* 當整個文件內容讀取結束時,關閉文件指針 */

}

熱點內容
馬路上汽車的噪音在多少分貝 發布:2023-08-31 22:08:23 瀏覽:2181
應孕棒多少錢一盒 發布:2023-08-31 22:08:21 瀏覽:1648
標准養老金一年能領多少錢 發布:2023-08-31 22:05:05 瀏覽:1945
湖北通城接網線多少錢一個月 發布:2023-08-31 21:59:51 瀏覽:2014
開隨車吊車多少錢一個月 發布:2023-08-31 21:55:06 瀏覽:1774
京東付尾款怎麼知道前多少名 發布:2023-08-31 21:52:58 瀏覽:2099
在學校租鋪面一個月要多少錢 發布:2023-08-31 21:52:09 瀏覽:2238
2寸有多少厘米 發布:2023-08-31 21:50:34 瀏覽:1876
知道電壓如何算一小時多少電 發布:2023-08-31 21:46:20 瀏覽:1884
金手鐲54號圈周長是多少厘米 發布:2023-08-31 21:44:28 瀏覽:2021