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,得到正確的值