1. c语言编程
#include<stdio.h>
#include<string.h>
int main(int argc,char*argv[])
{
printf("the number is:%d\n",argc);
printf("the program name is:%s\n",argv[0]);
FILE *fpsrc=NULL;
FILE *fpdst=NULL;
char ch;
fpsrc=fopen(argv[1],"r+");
if(fpsrc==NULL)
goto ERROR;
fpdst=fopen(argv[2],"w+");
if(fpdst==NULL)
goto ERROR;
while((ch=fgetc(fpsrc))!=EOF)
{
if(fputc(ch,fpdst)==EOF)
goto ERROR;
}
fflush(fpdst);
fclose(fpsrc);
fclose(fpdst);
ERROR:return 0;
return 0;
}
运行出来的程序是有一个警告。。但你从命令行输入时候可以实现复制功能。
还有用两个文件名代替argv[l]和argv[2]也没有问题。。。
还有你所说的命令行是操作系统带的命令行,还是你运行出来的》xx.exe文件。。。
2. C 语言移位后,怎么还原
temp[0]扔掉 i 二进制数中的后8位,temp[1]保留 i 的后8位;
由此我们可以得出,只要补全缺位就能恢复到8080。
然后我们发现这两个数是互补的。
就有了这个式子:temp[1]=temp[0]=((temp[0]<<8)+temp[1]);得到了8080;
我这里有个问题:你所指的还原是什么?它们好像在位运算之前没有值,一开始就被你的位运算给重新赋值了。
3. 简单的c语言提问
控制循环每秒60次,这样的话确实不大可能手动输入按键,这样,你可以把delay_fps(60)中的参数设成一个变量,如下例:
y=50;
delay_fps(y);
y+=2;
这样的话就不就可以实现了吗?
以上,仅供参考,虽然学过图形学,但是对你说的还是有些不明白。。。
4. 如何制作FPS游戏
FPS游戏制作大师可以制作一个你自己的FPS游戏,但那只是初级的,只相当于你做了个地图而已。
使命召唤每个版本的开发经费就在10万USD以上,这涉及到复杂的编程和硬件调用以及平台支持环境,包括如果调用显卡、声卡和CPU进行运算等等。
所以凭你个人之力而且没有C语言编程基础(光有基础也不行)是根本不可能开发出来的。
5. C语言中文件加密并还原
自己写的一个异或加密
#include<stdio.h>
#include<stdlib.h>
#include <conio.h>//getche()需要
#include<string.h>
char ch;
//异或函数
int YiHuo(FILE *f0,FILE *fp,int passwordnum,int move,char key)
{
while(fread(&ch,1,1,f0),!feof(f0))
{
if (key==49)//加密
{
ch=ch+move;
(char)(ch^=passwordnum);
fwrite(&ch,1,1,fp);
}
if (key==50)//解密
{
(char)(ch^=passwordnum);
ch=ch+move;
fwrite(&ch,1,1,fp);
}
}
}
int main()
{
//encrypt加密 decrypt解密
FILE *f0,*fe,*fd;
char fname0[50];
char efname[50]={0};
char dfname[50]={0};
char Password[50]={0},key=0,key2=0;
char sysfname[20]={0};
int p=0,passwordnum,move=0;//异或后移动的次数 ;
system("cls");
do
{
system("cls");
do
{
printf("1-----------加密文件\n");
printf("2-----------解密文件\n");
printf("Esc----------退出\n") ;
key=getch();//读入一个键盘码
}
while ((key!='1')&&(key!='2')&&(key!=27));
Password[50]=0;
passwordnum=0;
if (key==49)
{
system("cls");
printf("请输入要加密的文件绝对路径\n");
scanf("%s",fname0);
// while(key=0)
//打开原文件
if ((f0=fopen(fname0,"rb"))==NULL)
{
printf("文件打不开哦!\n");
key=0;//文件打开失败时key的值改变
exit(0);
printf("加密失败\n");
system("pause");
}
//只有文件fname0打开成功时才能继续打开efname
if(key==49)
{
system("cls");
printf("请输入完成加密的文件存储路径\n");
scanf("%s",efname);
if ((fe=fopen(efname,"w+"))==NULL)
{
printf("文件打不开哦!\n");
printf("加密失败\n");
fclose(f0);
system("pause");
exit(0);
key=0;
}
}
//如果打开文件成功则开始输入密码
if(key==49)
{
system("cls");
printf("请输入密码\n");
scanf("%s",Password);
//把字符密码转化为整形来异或
for(p=0;Password[p]!=0;p++)
passwordnum+=((int)Password[p]);
move=(int)(passwordnum%9);
while (move>9)
move=(int)(move%9);
}
if (key==49)
{//异或加密
system("cls");
YiHuo(f0,fe,passwordnum,move,key);
printf("\n加密成功,您的输出文件路径为:\n");
printf("%s",efname);
fclose(f0);
fclose(fe);
}
}
if (key==50)
{
system("cls");
printf("请输入要解密的文件绝对路径\n");
scanf("%s",fname0);
// while(key=0)
//打开原文件
if ((f0=fopen(fname0,"rb"))==NULL)
{
printf("文件打不开哦!\n");
key=0;//文件打开失败时key的值改变
exit(0);
printf("解密失败\n");
system("pause");
}
//只有文件fname0打开成功时才能继续打开dfname
if(key==50)
{
system("cls");
printf("请输入完成解密的文件存储路径\n");
scanf("%s",dfname);
if ((fd=fopen(dfname,"w+"))==NULL)
{
printf("解密失败");
fclose(f0);
system("pause");
printf("文件打不开哦!\n");
exit(0);
key=0;
}
}
//如果打开文件成功则开始输入密码
if(key==50)
{
system("cls");
printf("请输入密码\n");
scanf("%s",Password);
//把字符密码转化为整形来异或
for(p=0;Password[p]!=0;p++)
passwordnum+=((int)Password[p]);
move=(int)(passwordnum%9);
while (move>9)
move=(int)(move%9);
move=(-move);
}
if (key==50)
{//异或加密
system("cls");
YiHuo(f0,fd,passwordnum,move,key);
printf("\n解密成功,您的输出文件路径为:\n%s",dfname);
system("pause");
fclose(f0);
fclose(fd);
}
}
}
while(key!=27);//当key为0,即读写两个文件都打开成功时才结束循环
return 0;
printf("\n谢谢使用!,programed by STU caige\n");
system("pause");
}
6. c语言中用了冒泡排序后如何还原
你可以再开辟另外一组结构体数组用来保存进行排序前的顺序!你排完后输出完了,再赋值回去就行了
7. C语言 如何连内容一起,将结构体以文件的形式保存下来,以及如何还原该结构体类型的数据
你是说把图书数据都保存到文件里吗??图片怎么存文件啊,而且还是多张图存文件里??
如果是其他数据的话,你自己定义一个格式就行了,比如按照上述变量的顺序一次存入,每个变量之间有一个逗号或者其他特殊符号来分隔。在你提取的时候,只要按照这个格式,用逗号来区分每个变量的结束就可以了。
图片的话,你可以存它的路径吧?或者把图片所在地方的数据用二进制读了来存?但和上面数据不太统一啊。
8. 一个文件异或后,怎么用C语言程序将它还原
异或算法是可逆的。假设A是密码。B是要加密的信息,C是加密后的信息。则有 A ^ B = C; A ^ C = B。所以,异或加解密是同一个程序,不信你试试。
9. 怎么用C语言time.h里的clock()控制帧率fps
tc里面的东西??你编出来也没权限运行的啊......你得要个dos系统
10. 补码还原 C语言
最好先计算,否则数字可能抵消彼此。尽量用位运算,数字运算很可能会出问题。
试试这样:
int u=0; //把u每一位都设成0
u=u|uh; //把高四位加上去
u=u<<8; //向左移动8位,留下低八位的位置
u=u|ul; //把低八位加上去
u=u<<4; //向左移动4位,这时u的值是正确值的16倍,不管是正是负
u=u/16; //除以16,得到正确的值