㈠ c語言怎樣以文件的方式輸入與輸出
上機考試中的多是由fopen來進行文件操作的。。如果要從命令行中加入參數可以象這樣int
main(int
argc,
char*
argv[])
通過argv參數傳遞變數
㈡ 如何用C語言打開已有文件並輸出文件內容
給你個實例代碼:
#include<stdio.h>
void main(){
FILE *fp;
char ch,filename[50];
printf("please input file's name;\n");
scanf("%s",filename);
fp=fopen(filename,"r");
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}
求採納
㈢ 如何用C語言輸出文件
1、C語言標准庫提供了一系列文件操作函數。文件操作函數一般以f+單詞的形式來命名(f是file的簡寫),其聲明位於stdio.h頭文件當中。例如:fopen、fclose函數用於文件打開與關閉;fscanf、fgets函數用於文件讀取;fprintf、fputs函數用於文件寫入;ftell、fseek函數用於文件操作位置的獲取與設置。一般的C語言教程都有文件操作一章,可以找本教材進一步學習。
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語言輸出一文件的內容
無法直接輸出文件內容,需要先將文件讀入到內存,再輸出到標准輸出上。
可以採用逐個字元讀入,每讀入一個輸出一個的方式。
區分文件類型,操作有所不同。
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語言如何從文本文件中輸出指定行文字
提供一個思路
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語言的文件輸入輸出操作
先把那個換行用getchar() 代替,否則那個換行符會被寫到文件中。而後面的getchar()是你真正要寫入文件的第一個字元
㈧ C語言中的文件輸入輸出怎麼用
#include<stdio.h>
int main(int argc,char** argv)
{
//讀入
FILE *fp;
int a;//這個用來保存要讀入的數字
if((fp=fopen("a.in","rt"))==NULL)
{
printf("Cannot open file!");
return -1;;//不能打開文件,直接返回
}
fscanf(fp, "%d", &a);//讀入數字。請確保文件內容正確
fclose(fp);
a=3;
//寫入
if((fp=fopen("a.in","wt"))==NULL)
{
printf("Cannot open file!");
return -1;//不能打開文件,直接返回
}
fprintf(fp, "%d\n", a);//寫入數字
fclose(fp);
return 0;
}