① C語言屏幕輸出的內容如何保存到文件中
C語言中用流替換函數freopen可以從文件中讀取數據或將數據輸出到文件中。
需要引用庫"stdio.h",即
#include<stdio.h>
freopen的聲明如下:
FILE *freopen(const char * restrict filename, const char * restrict mode, FILE * restrict stream);
形參說明:
filename:需要重定向到的文件名或文件路徑。
mode:代表文件訪問許可權的字元串。例如,"r"表示「只讀訪問」、"w"表示「只寫訪問」、"a"表示「追加寫入」。
stream:需要被重定向的文件流。
返回值:如果成功,則返回該指向該輸出流的文件指針,否則返回為NULL。
用法:
將輸入流從stdin替換成指定文件可以從文件中讀取數據;
將輸出流從stdout替換成指定文件可以將數據輸出到文件中。
下面舉個例子:
#include<stdio.h>
int main(){
freopen("in.txt","r",stdin); //從in.txt中讀數據
freopen("out.txt","w",stdout);//向out.txt中寫數據
int a,b;
while(~scanf("%d%d", &a, &b)){
printf("%d %d\n");
}
return 0;
}
② C語言環境下程序產生的日誌如何保存在指定的文件
如果是程序內部寫了log函數,那麼應該可以在程序中設置指定文件。
如果只是用fprintf(stderr,...)等。那麼可以在執行程序時重定向輸出。比如
./yourprogram >& /d/1.txt即可。
③ 怎樣用C語言保存一個文件
在C語言中,文件有多種讀寫方式,可以一個字元一個字元地讀取,也可以讀取一整行,還可以讀取若干個位元組。文件的讀寫位置也非常靈活,可以從文件開頭讀取,也可以從中間位置讀取。
在C語言中,二進制方式很簡單,讀文件時,會原封不動的讀出文件的全部內容,寫的時候,也是把內存緩沖區的內容原封不動的寫到文件中。
而對文本文件的處理就不一樣了。Windows 和 DOS 下的文本文件以CRLF(0X0D 0X0A)作為換行符,而C語言本身以LF(0X0A)作為換行符,所以以文本方式寫入數據時,會將LF(0X0A)替換為CRLF(0X0D 0X0A),而讀取數據時又會替換回來。
CR(0X0D)表示回車符,也就是 '
';CL(0X0A)表示換行符,也就是 '
'。在Linux和其他一些系統中,文本文件的換行符就是LF(0X0A),與C語言的換行符一樣。所以也就沒有了文本方式和二進制方式的區分,使不使用'b'標志都是一樣的。
(3)c語言可以保存到指定文件擴展閱讀
C語言中文件的讀取和寫入
在C語言中寫文件
//獲取文件指針FILE *pFile = fopen("1.txt", //打開文件的名稱
"w"); // 文件打開方式 如果原來有內容也會銷毀//向文件寫數據fwrite ("hello", //要輸入的文字
//文字每一項的大小 以為這里是字元型的 就設置為1 如果是漢字就設置為4
strlog("hello"), //單元個數 我們也可以直接寫5
pFile //我們剛剛獲得到的地址 );//fclose(pFile); //告訴系統我們文件寫完了數據更新,但是我們要要重新打開才能在寫fflush(pFile); //數據刷新 數據立即更新
④ c語言怎麼保存文件到指定的路徑
fp=fopen(filename,"wb");
里的filename就表示了文件的路徑及文件名,所以要把輸入的文件名和文件路徑拼接起來,計算出這個filename
最好過濾一下別讓路徑和文件名中有非法字元,比如:\/+<>什麼的。
scanf也限制一下長度。
scanf("%19s",filename);
scanf("%19s",path);
參考如下:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp;
char ch, filename[20], path[20],buffer[40];
printf("Enter the file name: ");
scanf("%s",filename);
printf("Enter the path: ");
scanf("%s",path);
sprintf(buffer, "%s\\%s", path,filename);
printf("\nto end input ,press Ctrl+Z in newline,then ENTER:\n");
if((fp=fopen(buffer,"wt+"))==NULL)
{
printf("no such path, \nstrike any key exit!");
getch();
exit(1);
}
while ((ch=getchar())!=-1) ch=fputc(ch,fp);
fclose(fp);
printf("==================================\n\n");
printf("file path \"%s\" \nfile name \"%s\":\nand its content:\n",path,filename);
fp=fopen(buffer,"rt");
while ((ch=fgetc(fp))!=-1) putchar(ch);
fclose(fp);
return 0;
⑤ 用C語言如何將結果輸出到一個文本文件中保存
文件的操作步驟:
#include <stdio.h> #include <stdlib.h> int main()
{
FILE *fp;
int i, d;
fp=fopen("data.txt","w");
if(fp==NULL)
{
printf("File cannot open! " );
exit(0);
}
for(i=0; i<10; i++)
{
scanf("%d", &d);
fprintf(fp,"%d ", d);
}
fclose(fp);
return 0;
}
格式化輸出:
#include <stdio.h> #include <stdlib.h> int main()
{
FILE *fp;
int i, No;
float salary;
fp=fopen("data.csv","w");
if(fp==NULL)
{
printf("File cannot open! " );
exit(0);
}
//輸入5名員工的工號,並保存到文件中
for(i=0; i<5; i++)
{
scanf("%d %f", &No, &salary);
fprintf(fp,"%d, %.2f ", No, salary);
}
fclose(fp);
return 0;
}
(5)c語言可以保存到指定文件擴展閱讀:
從文件中讀取字元:
#include <stdio.h> #include <stdlib.h> int main()
{
FILE *fp;
char c;
if ((fp=fopen( "data.dat" , "r" ))==NULL)
{
printf("File cannot open!");
exit(0);
}
while((c=fgetc(fp))!=EOF)
putchar(c);
fclose(fp);
return 0;
}
⑥ 怎麼樣將C語言程序執行的結果保存在一個文件里
在dos模式下,可以使用「應用程序名
=>
文本文件」回車。
例如要把一個名為test.exe的c語言可執行程序的運行結果保存下來,則可以在dos的命令提示符下:test
=>
c:\result.txt
回車,這樣運行結果就保存在文本文件中了。
⑦ C語言編的程序怎麼保存到指定文件夾謝謝```
fopen=("c:xx.txt","a+")
不知道你說的什麼意思,不過如果是打開文件然後寫的話
把fopen後面的兩個參數寫上就ok
了.第一個是文件路徑
底二個是打開方式,我用的是追加寫,就是如果沒有文件就新建一個,有就寫在文件尾
⑧ c語言如何用文件存儲數據
1、新建一個文件夾,並在文件夾中建立一個文檔。
⑨ C語言編的程序怎麼保存到指定文件夾謝謝```
fopen=("c:xx.txt","a+")
不知道你說的什麼意思,不過如果是打開文件然後寫的話
把fopen後面的兩個參數寫上就ok 了.第一個是文件路徑
底二個是打開方式,我用的是追加寫,就是如果沒有文件就新建一個,有就寫在文件尾