c語言寫入文件
1. c語言fwrite怎麼寫入文件
C語言fwrite寫入文件可以參考以下的代碼:
//定義一個學生結構體
structStudent_type
{
charname[10];
intnum;
intage;
charaddr[30];
}stud[40];
inti;
FILE*fp;//定義一個文件指針fp
fp=fopen("stu.dat","wb");//以二進制可寫方式打開stu.dat文件
//將40個學生的記錄寫入文件stu.dat中
for(i=0;i<40;i++)
fwrite(&stud[i],sizeof(structStudent_type),1,fp);
(1)c語言寫入文件擴展閱讀:
fwrite函數用法
size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
返回值:返回實際寫入的數據塊數目
1、buffer:是一個指針,對fwrite來說,是要獲取數據的地址
2、size:要寫入內容的單位元組數
3、count:要進行寫入size位元組的數據項的個數
4、stream:目標文件指針
5、返回實際寫入的數據項個數count
說明:寫入到文件的哪裡與文件的打開模式有關,如果是w+,則是從file pointer指向的地址開始寫,替換掉之後的內容,文件的長度可以不變,stream的位置移動count個數;如果是a+,則從文件的末尾開始添加,文件長度加大。
fseek對此函數有作用,但是fwrite函數寫到用戶空間緩沖區,並未同步到文件中,所以修改後要將內存與文件同步可以用fflush(FILE *fp)函數同步。
2. c語言怎麼將數據寫入文件
利用VC軟體通過代碼書寫就可以將數據寫入文件。
3. C語言文件寫入怎麼操作
C++的文本文件寫入
// outfile.cpp -- writing to a file
#include <iostream>
#include <fstream> // for file I/O
int main()
{
using namespace std;
char automobile[50];
int year;
double a_price;
double d_price;
ofstream outFile; // create object for output
outFile.open("carinfo.txt"); // associate with a file
cout << "Enter the make and model of automobile: ";
cin.getline(automobile, 50);
cout << "Enter the model year: ";
cin >> year;
cout << "Enter the original asking price: ";
cin >> a_price;
d_price = 0.913 * a_price;
// display information on screen with cout
cout << fixed;
cout.precision(2);
cout.setf(ios_base::showpoint);
cout << "Make and model: " << automobile << endl;
cout << "Year: " << year << endl;
cout << "Was asking $" << a_price << endl;
cout << "Now asking $" << d_price << endl;
// now do exact same things using outFile instead of cout
outFile << fixed;
outFile.precision(2);
outFile.setf(ios_base::showpoint);
outFile << "Make and model: " << automobile << endl;
outFile << "Year: " << year << endl;
outFile << "Was asking $" << a_price << endl;
outFile << "Now asking $" << d_price << endl;
outFile.close(); // done with file
return 0;
}
4. c語言 如何將變數寫入文件
原因:
使用fopen時參數不正確,你是用
w參數,若文件存在則文件長度清為0,即該文件內容會消失。每次都是重新清空並寫數據,
將w修改為a即可.
fopen函數說明見下方:
---------------
file
*
fopen(const
char
*
path,const
char
*
mode);
[編輯本段]函數說明
參數path字元串包含欲打開的文件路徑及文件名,參數mode字元串則代表著流形態。
mode有下列幾種形態字元串:
r
打開只讀文件,該文件必須存在。
r+
打開可讀寫的文件,該文件必須存在。
rb+
讀寫打開一個二進制文件,只允許讀寫數據。
rt+
讀寫打開一個文本文件,允許讀和寫。
w
打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。
w+
打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。
a
以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。(eof符保留)
a+
以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。
(原來的eof符不保留)
wb
只寫打開或新建一個二進制文件;只允許寫數據。
wb+
讀寫打開或建立一個二進制文件,允許讀和寫。
wt+
讀寫打開或著建立一個文本文件;允許讀寫。
at+
讀寫打開一個文本文件,允許讀或在文本末追加數據。
ab+
讀寫打開一個二進制文件,允許讀或在文件末追加數據。
5. c語言文件的寫入
fprintf吧
實際代碼,你沒給數據結構,沒人能寫出來。
6. C語言寫入文件,文件操作
//1樓回答的太多了
//看我的
#include<stdio.h>
#include <string.h>
main()
{
int flag=0;
FILE *fp;
char *p,strline[100]="\0",strinfo[100]="\0";
fp=fopen("data.txt","r");
puts("Please input ID");
gets(strinfo); //獲取用戶輸入的ID
while (fgets(strline,99,fp)) //循環讀每行用戶信息
{
if ((p=strstr(strline,strinfo))!=NULL) //用strstr函數檢查是否用戶信息中有用戶輸入的ID
{
flag=1;
puts("此人信息已存在"); //提示存在
}
}
if (flag==0)
{
puts("無此人信息");
}
}
7. C語言:如何將數據寫入文件
原因:
使用fopen時參數不正確,你是用 w參數,若文件存在則文件長度清為0,即該文件內容會消失。每次都是重新清空並寫數據, 將w修改為a即可.
fopen函數說明見下方:
---------------
FILE * fopen(const char * path,const char * mode);
[編輯本段]函數說明
參數path字元串包含欲打開的文件路徑及文件名,參數mode字元串則代表著流形態。
mode有下列幾種形態字元串:
r 打開只讀文件,該文件必須存在。
r+ 打開可讀寫的文件,該文件必須存在。
rb+ 讀寫打開一個二進制文件,只允許讀寫數據。
rt+ 讀寫打開一個文本文件,允許讀和寫。
w 打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。
w+ 打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。
a 以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。(EOF符保留)
a+ 以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。 (原來的EOF符不保留)
wb 只寫打開或新建一個二進制文件;只允許寫數據。
wb+ 讀寫打開或建立一個二進制文件,允許讀和寫。
wt+ 讀寫打開或著建立一個文本文件;允許讀寫。
at+ 讀寫打開一個文本文件,允許讀或在文本末追加數據。
ab+ 讀寫打開一個二進制文件,允許讀或在文件末追加數據。
8. c語言 文本文件的操作 字元寫入
首先利用fopen函數建立一個可以寫入的文件,然後利用fprintf函數寫出你想寫入的東西。具體語句如下:
FILE
*fp;//文件指針
char
ch='A';
fp=fopen("1.txt","w");//建立一個可寫入的文件1.txt
fprintf(fp,"%c\n",
ch);//往1.txt中寫入字元
如果想寫入多個字元,可利用循環
9. C語言如何寫入文本文件
1、首先輸入下方的代碼
#include <stdio.h>
int main()
{
//下面是寫數據,將數字0~9寫入到data.txt文件中
FILE *fpWrite=fopen("data.txt","w");
if(fpWrite==NULL)
{
return 0;
}
for(int i=0;i<10;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;i<10;i++)
{
fscanf(fpRead,"%d ",&a[i]);
printf("%d ",a[i]);
}
getchar();//等待
return 1;
}
10. C語言如何以插入方式寫入文件
這是不可能實現的。因為數據在硬碟上是連續保存的。
你真要插入的話,唯一的辦法是將插入點後面的所有數據都備份一下,然後等你輸入了待插入數據後(這意味著有若干位元組被覆蓋了,不過反正已經備份了),將備份的那些重新輸入到文件里。
當然,如果你是在文件開頭插入數據,就意味著要重新寫一遍整個文件,耗時會很長,但這也是不可避免的。
如果不想破壞原文件的話,可以使用一個臨時文件,修改完後刪除原文件,將臨時文件重命名為原文件的名字。