『壹』 C語言中.cpp與.h是如何連接的
*.h是頭文件,一般放函數的聲明
*.cpp是源文件,一般放函數的定義(即功能實現)。
*.h文件就像是一個介面,具體的實現可以在*.cpp中也可以在*.h中。
在寫程序的時候,如果要用到某個頭文件就要包含這個頭文件。
系統自帶的頭文件用:#include<iostream>或者#include<iostream.h>
沒有.h的是C++標准頭文件,有.h的是為了更好的兼容C才用的。
自己寫的頭文件用:#include"a.h"(這里必須用「」雙引號)。
一般如果只有一個cpp文件,可以不謝函數聲明的.h文件,直接把函數聲明放在cpp中。
『貳』 c語言編程:從鍵盤輸入一個兩位整數,將其插入某個文件中不改變原文件數按從小到大的順序,怎麼編
設原文件在當前目錄下名為123.txt。可以這么構思:另創建一個臨時文件ftmp,從原文件讀一個數就向ftmp寫一個數,當要插入的數比當前讀出的數小時將要插入的數先寫入ftmp再寫入讀得的數;再把原文件剩餘的數都寫入臨時文件ftmp。最後刪除原文件並將臨時文件名ftmp改為原文件名。
代碼文本:
#include "stdio.h"
int main(int argc,char *argv[]){
int t,x;
FILE *fpi,*fpo;
printf("Please enter x(int 9<x<100)... x=");
if(scanf("%d",&x)==1 && x>9 && x<100){
fpi=fopen("123.txt","r");
if(fpi && (fpo=fopen("ftmp.txt","w"))){
while(fscanf(fpi,"%d",&t)!=EOF)
if(x>t)
fprintf(fpo,"%d ",t);
else
break;
fprintf(fpo,"%d ",x);//插入x
while(!feof(fpi)){
fprintf(fpo,"%d ",t);
fscanf(fpi,"%d",&t);
}
fclose(fpi);
fclose(fpo);
remove("123.txt");//刪除原文件
rename("ftmp.txt","123.txt");//將新文件改為原文件名
}
else
printf("Open the text failure, exit... ");
}
else
printf("Input error, exit... ");
return 0;
}
(辦法較多,此代碼僅供參考)
『叄』 C語言如何以插入方式寫入文件
1、可以使用fseek()來指定文件位置。
函數原型:int fseek(FILE *stream, long offset, int fromwhere);
函數說明:函數設置文件指針stream的位置。如果執行成功,stream將指向以fromwhere(偏移起始位置:文件頭0(SEEK_SET),當前位置1(SEEK_CUR),文件尾2(SEEK_END))為基準,偏移offset(指針偏移量)個位元組的位置。如果執行失敗(比如offset超過文件自身大小),則不改變stream指向的位置。
返回值:如果執行成功,stream將指向以fromwhere為基準,偏移offset(指針偏移量)個位元組的位置,函數返回0。如果執行失敗(比如offset超過文件自身大小),則不改變stream指向的位置,函數返回一個非0值。
2、常式:向test.txt的末尾添加「this is a text"的字元串。
#include<stdio.h>
#include<string.h>
intmain()
{
constchar*szwrite="thisisatext";
FILE*fp=fopen("test.txt","a+");
if(fp==0){
printf("can'topenfile ");
return0;
}
fseek(fp,0,SEEK_END);
fwrite(szwrite,strlen(szwrite)*sizeof(char),1,fp);
fclose(fp);
return0;
}