『壹』 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;
}