當前位置:首頁 » 編程軟體 » 博圖c腳本函數如何導出和導入

博圖c腳本函數如何導出和導入

發布時間: 2022-07-17 15:13:39

c語言,有高手教我怎麼導出運行結果嗎導出到指定文件。

那就需要熟悉文件操作啊。

不願意看書就看看這個

C語言文件操作2008年07月17日 星期四 11:43 P.M.13.1C語言文件
1,兩種文件存取方式(輸入,輸出方式)
順序存取
直接存取
2,數據的兩種存放形式
文本文件
二進制文件 13.2文件指針
定義文件類型指針變數的一般形式:
FILE *指針變數名;
例如:
FILE *fp1,*fp2;13.3打開文件
在使用文件之前,需打開文件.在C里使用fopen函數打開文件.格式為:
fopen(文件名,文件使用方式);
此函數返回一個指向FILE類型的指針.如:
FILE *fp;
fp=fopen("file_1","r");
如果調用成功,fp就指向file_1,否則返回為NULL,所以為了保證文件的正確使用,要進行測試.採用如下語句:
If((fp=fopen("file_1","r"))==NULL)
{
printf("Cannot open this file\n");
exit(0);
}
最常用的文件使用方式及其含義如下:
1,"r".為讀而打開文本文件.(不存在則出錯)
2,"rb".為讀而打開二進制文件.
3,"w".為寫而打開文本文件.(若不存在則新建,反之,則從文件起始位置寫,原內容將被覆蓋)
4,"wb".為寫而打開二進制文件.
5,"a".為在文件後面添加數據而打開文本文件.(若不存在,則新建;反之,在原文件後追加)
6,"ab".為在文件後面添加數據而打開一個二進制文件.
最常用的文件使用方式及其含義如下:
7,"r+".為讀和寫而打開文本文件.(讀時,從頭開始;在寫數據時,新數據只覆蓋所佔的空間,其後不變)
8,"rb+".為讀和寫而打開二進制文件.只是在隨後的讀寫時,可以由位置函數設置讀和寫的起始位置.
9,"w+".首先建立一個新文件,進行寫操作,隨後可以從頭開始讀.(若文件存在,原內容將全部消失)
10,"wb+".功能與"w+"同.只是在隨後的讀寫時,可以由位置函數設置讀和寫的起始位置.
最常用的文件使用方式及其含義如下:
11,"a+".功能與"a"相同;只是在文件尾部添加新的數據後,可以從頭開始讀.
12,"ab+".功能與"a+"相同;只是在文件尾部添加新數據之後,可以由位置函數設置開始讀的起始位置.13.4關閉文件當文件的讀寫操作完成之後,使用fclose函數關閉文件.格式如下:
fclose(文件指針)
如:fclose(fp);
13.5調用getc(fgetc)和putc(fputc)函數進行輸入和輸出
1,調用putc(或fputc)函數輸出一個字元
調用形式為:
putc(ch,fp);
功能是:將字元ch寫到文件指針fp所指的文件中去.當輸出成功,putc函數返回所輸出的字元;否則,返回一個EOF值.EOF是在stdio.h庫函數文件中定義的符號常量,其值等於-1.13.5調用getc(fgetc)和putc(fputc)函數進行輸入和輸出
例如:把從鍵盤輸入的文本按原樣輸出到名為file_1.dat文件中,用字元@作為鍵盤輸入結束標志.
#include
Void main()
{
FILE *fpout;
char ch;
if(fpout=fpopen("file_1","w")==NULL)
{
printf("Cannot open this file!\n");
exit(0);
}
ch=getchar();
while(ch!='@')
{ fputc(ch,fpout); ch=getchar(); }
fclose(fpout);
}
2.調用getc(或fgetc)函數輸入一個字元
調用形式為:
ch=getc(pf);
功能是:從pf指定的文件中讀如一個字元,並把它作為函數值返回.
例如:把一個已存在磁碟上的file_1.dat文本文件中的內容,原樣輸出到終端屏幕上.
#include
void main(){
FILE *fpin;
char ch;
if((fpin=fopen("file_1.dat","r"))==NULL)
{ printf("Cann't open this file!\n");exit(0);}
ch=fgetc(fpin);
while (ch!=EOF)
{ putchar(ch); ch=fgetc(fpin);}
fclose(fpin);
}
13.6判斷文件結束函數feof
EOF可以作為文本文件的結束 標志,但不能作為二進制文件的結束符.feof函數既可以判斷二進制文件,又可以判斷文本文件.
例:編寫程序,用於把一個文本文件(源)復制到另一個文件(目的)中,源文件名和目的文件名由命令行輸入.命令形式如下:
可執行程序名 源文件名 目的文件名
#include
void file(FILE* ,FILE *);
void main(int argc,char *argv[]){
FILE *fpin,*fpout;
if(argc==3)
{ fpin=fopen(argv[1],"r");
fpout=fopen(argv[2],"w");
file(fpin,fpout);
fclose(fpin);fclose(fpout);
}
else if(argc>3)
printf("The file names too many!!\n";
else
printf("There are no file names for input or output!!\n );
}
void file(FILE *fpin,FILE *fpout)
{
char ch;
ch=getc(fpin);
while(!feof(fpin))
{putc(ch,fpout); ch=getc(fpin);}
}
13.7fscanf函數和fprintf函數
1,fscanf函數
fscanf只能從文本文件中按格式輸入,和scanf函數相似,只不過輸入的對象是磁碟上文本文件中的數據.調用形式為:
fscanf(文件指針,格式控制字元串,輸入項表)
例如:fscanf(fp,"%d%d",&a,&b);
fscanf(stdin,"%d%d",&a,&b);
等價於scanf("%d%d",&a,&b);
3.fprintf函數
fprintf函數按格式將內存中的數據轉換成對應的字元,並以ASCII代碼形式輸出到文本文件中.Fprintf函數和printf函數相似,只是將輸出的內容按格式存放到磁碟的文本文件中.調用形式如下:
fprintf(文件指針,格式控制字元串,輸出項表)
如:fprintf(fp,"%d %d",x,y);
以下語句 fprintf(stdout,"%d %d",x,y)
13.8fgets函數和fputs函數
1,fgets函數
fgets函數用來從文件中讀入字元串.調用形式如下:
fgets(str,n,fp);
函數功能是:從fp所指文件中讀入n-1個字元放入str為起始地址的空間內;如果在未讀滿n-1個字元時,則遇到換行符或一個EOF結束本次讀操作,並已str作為函數值返回.
13.8fgets函數和fputs函數
2,fputs函數
fput函數把字元串輸出到文件中.函數調用形式如下:
fputs(str,fp);
注意:為了便於讀入,在輸出字元串時,應當人為的加諸如"\n"這樣的字元串.13.9fread函數和fwrite函數
fread and fwrite函數用來讀,寫二進制文件.它們的調用形式如下:
fread(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
buffer:要輸入或輸出的數據塊的首地址
count:每讀寫一次,輸入或輸出數據塊的個數
size:每個數據塊的位元組數
fp:文件指針
13.9fread函數和fwrite函數
例如有如下結構體:
struct st{
char num[8];
float mk[5];
}pers[30];
以下循環將把這30個元素中的數據輸出到fp所指文件中.
for(i=0;i<30;i++)
fwrite(&pers[i],sizeof(struct st),1,fp);
13.9fread函數和fwrite函數
以下語句從fp所指的文件中再次將每個學生數據逐個讀入到pers數組中.
i=0;
fread(&pers[i],sizeof(struct st),1,fp);
while(!feof(fp))
{ i++;
fread(&pers[i],sizeof(struct st),1,fp);
}
13.10文件定位函數
1,fseek函數
fseek函數用來移動文件位置指針到指定的位置上,接著的讀或寫操作將從此位置開始.函數的調用形式如下:
fseek(pf,offset,origin)
pf:文件指針
offset:以位元組為單位的位移量,為長整形.
origin:是起始點,用來指定位移量是以哪個位置為基準的.
1,fseek函數
位移量的表示方法
標識符 數字 代表的起始點
SEEK_SET 0 文件開始
SEEK_END 2 文件末尾
SEEK_CUR 1 文件當前位置
假設pf已指向一個二進制文件,則;
fseek(pf,30L,SEEK_SET)
fseek(pf,-10L*sizeof(int),SEEK_END)
對於文本文件,位移量必須是0;如:
fseek(pf,0L,SEEK_SET)
fseek(pf,0L,SEEK_END)
2. ftell函數
ftell函數用以獲得文件當前位置指針的位置,函數給出當前位置指針相對於文件開頭的位元組數.如;
long t;
t=ftell(pf);
當函數調用出錯時,函數返回-1L.
我們可以通過以下方式來測試一個文件的長度:
fseek(fp,0L,SEEK_END);
t=ftell(fp);
3.rewind函數
調用形式為:
rewind(pf);
函數沒有返回值.函數的功能是使文件的位置指針回到文件的開頭.
13.10文件應用
在磁碟上的test.txt文件中放有10個不小於2的正整數,用函數調用方式編寫程序.要求實現:
1,在被調函數prime中,判斷和統計10個整數中的素數以及個數.
2,在主函數中將全部素數追加到磁碟文件test.txt的尾部,同時輸出到屏幕上.
#include
#include
Int prime(int a[],int n)
{
int I,j,k=0,flag=0;
for(i=0;i { for(j=2;j if(a[i]%j==0)
{ flag=0; break;}
else flag=1;
if(flag)
{a[k]=a[i];k++;}
}
return k;
}
void main(){
int n,I,a[10];
FILE *fp;
fp=fopen("test1-2.txt","r+");
for(n=0;n<10;n++)
fscanf(fp,"%d",&a[n]);
n=prime(a,n);
fseek(fp,o,2);
for(i=0;i {printf("%3d",a[i]);
fprintf(fp,"%3d",a[i]);
}
fclose(fp);
}

㈡ 怎樣用c++來實現文件的導入導出呢

打開文件,讀取
代碼看起來還可以,沒發現什麼問題
不過,從文件按行讀取到line之後馬上就覆蓋了,也就是並沒有用到讀出來的數據

㈢ 如何進行數據導出與導入

可以通過帳套備份解決。解決辦法: 1、開始 - 程序 - 航天信息A6 - 系統服務 - 帳套管理,登錄用戶名init,密碼system,進入後選中帳套點擊備份,備份文件路徑點擊設置查看。 2、把備份文件拷貝到另一台電腦上,還是進入帳套管理,點擊恢復 - 從文件創建,數據就導入過來了。 3、請注意,另一台電腦上A6軟體版本不得低於原來電腦上A6的軟體版本,如果版本低建議下載最新版本重新進行安裝。 查看原帖>>

麻煩採納,謝謝!

㈣ 【C語言 數據導入與導出問題】必採納!

  • 先看看一元線性回歸函數代碼:

// 求線性回歸方程:Y = a + bx

// dada[rows*2]數組:X, Y;rows:數據行數;a, b:返回回歸系數

// SquarePoor[4]:返回方差分析指標: 回歸平方和,剩餘平方和,回歸平方差,剩餘平方差

// 返回值:0求解成功,-1錯誤

intLinearRegression(double*data,introws,double*a,double*b,double*SquarePoor)
{
intm;
double*p,Lxx=0.0,Lxy=0.0,xa=0.0,ya=0.0;
if(data==0||a==0||b==0||rows<1)
return-1;
for(p=data,m=0;m<rows;m++)
{
xa+=*p++;
ya+=*p++;
}
xa/=rows;//X平均值
ya/=rows;//Y平均值
for(p=data,m=0;m<rows;m++,p+=2)
{
Lxx+=((*p-xa)*(*p-xa));//Lxx=Sum((X-Xa)平方)
Lxy+=((*p-xa)*(*(p+1)-ya));//Lxy=Sum((X-Xa)(Y-Ya))
}
*b=Lxy/Lxx;//b=Lxy/Lxx
*a=ya-*b*xa;//a=Ya-b*Xa
if(SquarePoor==0)
return0;
//方差分析
SquarePoor[0]=SquarePoor[1]=0.0;
for(p=data,m=0;m<rows;m++,p++)
{
Lxy=*a+*b**p++;
SquarePoor[0]+=((Lxy-ya)*(Lxy-ya));//U(回歸平方和)
SquarePoor[1]+=((*p-Lxy)*(*p-Lxy));//Q(剩餘平方和)
}
SquarePoor[2]=SquarePoor[0];//回歸方差
SquarePoor[3]=SquarePoor[1]/(rows-2);//剩餘方差
return0;
}
  • 實例計算:

doubledata1[12][2]={
//XY
{187.1,25.4},
{179.5,22.8},
{157.0,20.6},
{197.0,21.8},
{239.4,32.4},
{217.8,24.4},
{227.1,29.3},
{233.4,27.9},
{242.0,27.8},
{251.9,34.2},
{230.0,29.2},
{271.8,30.0}
};
voidDisplay(double*dat,double*Answer,double*SquarePoor,introws,intcols)
{
doublev,*p;
inti,j;
printf("回歸方程式:Y=%.5lf",Answer[0]);
for(i=1;i<cols;i++)
printf("+%.5lf*X%d",Answer[i],i);
printf("");
printf("回歸顯著性檢驗:");
printf("回歸平方和:%12.4lf回歸方差:%12.4lf",SquarePoor[0],SquarePoor[2]);
printf("剩餘平方和:%12.4lf剩餘方差:%12.4lf",SquarePoor[1],SquarePoor[3]);
printf("離差平方和:%12.4lf標准誤差:%12.4lf",SquarePoor[0]+SquarePoor[1],sqrt(SquarePoor[3]));
printf("F檢驗:%12.4lf相關系數:%12.4lf",SquarePoor[2]/SquarePoor[3],
sqrt(SquarePoor[0]/(SquarePoor[0]+SquarePoor[1])));
printf("剩餘分析:");
printf("觀察值估計值剩餘值剩餘平方");
for(i=0,p=dat;i<rows;i++,p++)
{
v=Answer[0];
for(j=1;j<cols;j++,p++)
v+=*p*Answer[j];
printf("%12.2lf%12.2lf%12.2lf%12.2lf",*p,v,*p-v,(*p-v)*(*p-v));
}
system("pause");
}

intmain()
{
doubleAnswer[2],SquarePoor[4];
if(LinearRegression((double*)data1,12,&Answer[0],&Answer[1],SquarePoor)==0)
Display((double*)data1,Answer,SquarePoor,12,2);
return0;
}

㈤ C++ 怎麼樣導出一個函數

方法一:標准C介面的導出extern "C" _ _declspec(dllexport) MyFunc1( );方法二:約定關鍵字的導出_ _declspec(dllexport) void _ _cdecl MyFunc2(void);備註:建議使用方法二,「_ _cdecl」 對應的默認的編譯器中的選項,一般情況可以省略。版權:微軟MSDN VS2008

㈥ 博途v14如何將plc程序導出

選擇PLC,找菜單欄,選中上載就可以把PLC程序提取到電腦上,有硬體設備組態和再用程序。如果原來編程者下載的程序有密碼,就要很無法提取到電腦
用戶程序執行:在用戶程序執行階段,可編程邏輯控制器總是按由上而下的順序依次地掃描用戶程序(梯形圖)。在掃描每一條梯形圖時,又總是先掃描梯形圖左邊的由各觸點構成的控制線路,並按先左後右、先上後的順序對由觸點構成的控制線路進行邏輯運算。然後根據邏輯運算的結果,刷新該邏輯線圈在系統RAM存儲區中對應位的狀態;或者刷新該輸出線圈在I/O映象區中對應位的狀態;或者確定是否要執行該梯形圖所規定的特殊功能指令。即,在用戶程序執行過程中,只有輸入點在I/O映象區內的狀態和數據不會發生變化,而其他輸出點和軟設備在I/O映象區或系統RAM存儲區內的狀態和數據都有可能發生變化,而且排在上面的梯形圖,其程序執行結果會對排在下面的凡是用到這些線圈或數據的梯形圖起作用

㈦ 關於WinCC C腳本的疑問,如何將一個變數賦值給另一個變數

1、首先打開TAG變數導出導入工具,如下圖所示即為變數導入導出工具,點擊「....」即可更改導出的文件夾位置,然後在圖中選擇「export」,然後點擊下方的「execute」。

熱點內容
db2新建資料庫 發布:2024-09-08 08:10:19 瀏覽:170
頻率計源碼 發布:2024-09-08 07:40:26 瀏覽:778
奧迪a6哪個配置帶後排加熱 發布:2024-09-08 07:06:32 瀏覽:100
linux修改apache埠 發布:2024-09-08 07:05:49 瀏覽:208
有多少個不同的密碼子 發布:2024-09-08 07:00:46 瀏覽:566
linux搭建mysql伺服器配置 發布:2024-09-08 06:50:02 瀏覽:995
加上www不能訪問 發布:2024-09-08 06:39:52 瀏覽:811
銀行支付密碼器怎麼用 發布:2024-09-08 06:39:52 瀏覽:513
蘋果手機清理瀏覽器緩存怎麼清理緩存 發布:2024-09-08 06:31:32 瀏覽:554
雲伺服器的優點與缺點 發布:2024-09-08 06:30:34 瀏覽:734