c語言保存到文件
1. 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;
}
2. C語言:保存文件
你參考下面的程序
#include <string> 
#include <fstream> 
#include <iostream> 
#include <iomanip> 
using namespace std; 
struct Info 
{ 
string m_Name; 
string m_Code; 
string m_ID; 
string m_Sex; 
string m_Addr; 
//指針域 
struct Info* Next; 
}; 
typedef struct Info Node;//為結構取個別名。 
typedef Node* Link;//為結構指針取個別名。 
//-----------函數聲明----------------- 
Link Create(Link Head); 
void Release(Link Head); 
Link Add(Link Head); 
Link Add(Link Head,fstream& ifile); 
void Display(Link Head); 
void Display(Link Head,fstream& ofile); 
//-----------函數實現----------------- 
Link Create(Link Head) 
{//建立一個帶頭節點的空鏈表。 
Head=(Link)new Node;//為Head分配一個節點的內存空間。 
Head->m_Name=""; 
Head->m_Code=""; 
Head->m_ID=""; 
Head->m_Sex=""; 
Head->m_Addr=""; 
Head->Next=NULL; 
return Head; 
} 
void Release(Link Head) 
{ 
Link ptr;//聲明操作用的指針。 
while(Head!=NULL) 
{ 
ptr=Head;//此處加一個ptr的目的是:可以索引到先前的那一塊地址,用來釋放。 
Head=ptr->Next; 
delete ptr;//此處釋放。如果不加ptr,就找不到那個地址了。 
}//while. 
} 
Link Add(Link Head) 
{ 
Link pNew;//聲明新節點指針。 
Link ptr;//聲明操作用的指針。 
pNew=(Link)new Node;//分配內存。 
if(!pNew) 
cout<<"內存分配失敗,添加數據失敗!"<<endl; 
//數據域 
string name,code,id,sex,addr; 
cout<<"-------------添加數據----------"<<endl; 
cout<<"輸入姓名:"; 
cin>>name; 
cout<<endl<<"輸入代碼:"; 
cin>>code; 
cout<<endl<<"輸入身份:"; 
cin>>id; 
cout<<endl<<"輸入性別:"; 
cin>>sex; 
cout<<endl<<"輸入地址:"; 
cin>>addr; 
pNew->m_Name=name; 
pNew->m_Code=code; 
pNew->m_ID=id; 
pNew->m_Sex=sex; 
pNew->m_Addr=addr; 
//指針域 
ptr=Head->Next;//保存指針。 
Head->Next=pNew;//指向新節點。 
pNew->Next=ptr;//鏈上後面的節點。(恢復指針) 
cout<<endl<<"添加數據成功。"<<endl; 
return Head; 
} 
Link Add(Link Head,fstream& ifile) 
{//從文件讀取數據。待測試... 
ifile.seekg(0);//定位文件指針到文件開始處。 
Link pNew;//聲明新節點指針。 
Link ptr;//聲明操作用的指針。 
while(!ifile.eof()) 
{//讀完整個文件。 
pNew=(Link)new Node;//分配內存。 
if(!pNew) 
cout<<"內存分配失敗,添加數據失敗!"<<endl; 
//數據域 
string name,code,id,sex,addr; 
//cout<<"-------------添加數據----------"<<endl; 
//cout<<"輸入姓名:"; 
ifile>>name; 
//cout<<endl<<"輸入代碼:"; 
ifile>>code; 
//cout<<endl<<"輸入身份:"; 
ifile>>id; 
//cout<<endl<<"輸入性別:"; 
ifile>>sex; 
//cout<<endl<<"輸入地址:"; 
ifile>>addr; 
pNew->m_Name=name; 
pNew->m_Code=code; 
pNew->m_ID=id; 
pNew->m_Sex=sex; 
pNew->m_Addr=addr; 
//指針域 
ptr=Head->Next;//保存指針。 
Head->Next=pNew;//指向新節點。 
pNew->Next=ptr;//鏈上後面的節點。(恢復指針) 
} 
cout<<endl<<"從文件讀取數據成功!"<<endl; 
return Head; 
} 
void Display(Link Head) 
{//在標准顯示器上輸出。 
Link ptr; 
ptr=Head->Next; 
while(ptr!=NULL) 
{ 
cout<<setw(15)<<left<<ptr->m_Name 
<<setw(15)<<left<<ptr->m_Code 
<<setw(15)<<left<<ptr->m_ID 
<<setw(15)<<left<<ptr->m_Sex 
<<left<<ptr->m_Addr<<endl; 
ptr=ptr->Next; 
} 
} 
void Display(Link Head,fstream& ofile) 
{//重載Display(),在文件中保存。 
Link ptr; 
ptr=Head->Next; 
ofile.clear(); 
while(ptr!=NULL) 
{ 
ofile<<setw(15)<<left<<ptr->m_Name 
<<setw(15)<<left<<ptr->m_Code 
<<setw(15)<<left<<ptr->m_ID 
<<setw(15)<<left<<ptr->m_Sex 
<<left<<ptr->m_Addr<<" ";//只加一個空格。特別提醒:此處的換行符要去掉,否則會多讀一行空格。 
ptr=ptr->Next; 
} 
cout<<endl<<"保存數據到文件成功!"<<endl; 
} 
int main() 
{ 
fstream iofile; 
iofile.open("e:\\iofile.txt",ios_base::in|ios_base::out|ios_base::app); 
iofile.seekg(0); 
if(!iofile) 
{ 
cout<<"iofile open failed."<<endl; 
exit(-1); 
} 
Link list=0; 
list=Create(list);//創建一個帶頭節點的空鏈表。 
//---------菜單選項---------------- 
int loop=1; 
while(loop) 
{ 
cout<<"**************************************"<<endl; 
cout<<"*--------------菜單選項--------------*"<<endl; 
cout<<"*------------------------------------*"<<endl; 
cout<<"* 1.輸入數據 2.保存數據 3.讀取數據 *"<<endl; 
cout<<"* 4.顯示數據 0.退出系統 *"<<endl; 
cout<<"**************************************"<<endl; 
int menu; 
cin>>menu; 
if(menu>4||menu<0) 
{ 
cout<<"請按菜單對應的數字選擇合適的操作,謝謝合作!"<<endl; 
break; 
} 
switch(menu) 
{ 
case 0: 
cout<<"已退出系統!"<<endl; 
loop=0; 
break; 
case 1: 
list=Add(list); 
break; 
case 2: 
Display(list,iofile); 
break; 
case 3: 
list=Add(list,iofile); 
break; 
case 4: 
Display(list); 
break; 
}//switch(menu) 
}//while(loop) 
Release(list);//釋放鏈表。 
iofile.close(); 
return 0; 
}
3. c語言如何用文件存儲數據
1、新建一個文件夾,並在文件夾中建立一個文檔。

4. C語言文件讀寫結構體裡面的數據怎樣存到磁碟文件上
1、首先打開VC++6.0。

5. c語言編程中怎麼用文件存儲數據具體一點,謝謝
主要用C語言的庫函數,有open write read 或者是fopen fwrite fread這幾個函數,迅速就是先open 然後write,具體函數的用法可自行網路,如果你是問存儲數據的格式的話,自己定義結構體存儲的方式是最方便直接的
6. 用C語言怎麼保存文件
部分代碼:
...
while(head
!=
NULL)
{
fwrite(&head->math,
1,
sizeof(int),
fp);
依次保存其他欄位,next欄位不用保存。
你下次讀出來的時候在重新組建鏈表既可.
head
=
head->next;
}
...
7. 手機如何將C語言編譯的文件放到文件夾
手機將C語言編譯的文件放到文件夾方法:
用F10點File,彈出下列框點save出現保存路徑,把noname改為你自己想要的名字(可以是字母,數字)點Enter鍵就可以了。或著用F2也是保存。
8. C語言結構體如何存入文件
最好用2進制方法打開文件,用fwrite 寫文件。讀時也用用2進制方法打開文件,用fread讀.x0dx0a這樣,寫的時候按整個結構寫,讀也按整個結構讀,字元串有空白也沒關系。x0dx0aFILE *fp;x0dx0a x0dx0afp=fopen("my.dat","wb");x0dx0afwrite(&stu,sizeof(stu),1,fp); // 寫1個結構x0dx0afor (i=0;i<10;i++) fwrite(&student[i],sizeof(student),1,fp); // 寫10個結構x0dx0afclose(fp);x0dx0a x0dx0afp=fopen("my.dat","rb");x0dx0afread(&stu,sizeof(stu),1,fp); // 讀1個結構x0dx0afor (i=0;i<10;i++) fread(&student[i],sizeof(student),1,fp); // 讀 10個結構x0dx0afclose(fp);
