TODO: File-New-Empty File
另存新檔(File-Save as) file.cpp
///先開一個沒有專案的空白檔案
#include <stdio.h>
int main()
{
FILE * fout = fopen("output.text", "w+");///開啟檔案
///FILE * 檔案指標 fout
/// 檔案file
/// open開啟
/// "要開啟的檔名", "w+"表示要寫/+檔案
printf("Hello world\n");
fprintf(fout, "Hello world\n");
}
TODO:
float angle=0, angle2=10, angle3=90;
fprintf("%3f %3f %3f",angle, angle2,angle3);
TODO: File-New -Project, GLUT 專案
註:用 glutMouseFunc(mouse);
glutMotionFunc(motion);
#include <stdio.h>
FILE * fout=NULL;///檔案一開始是空的
float angle=0;
int oldX=0;
void mouse(int button, int state, int x, int y)
{
oldX=x;
}
void motion(int x, int y)///用mouse motion來改關節angle
{
angle += x-oldX; ///角度稍微增減
oldX=x;///把舊的更新成新的
if(fout==NULL){ ///一開始是空指標,所以會進來if()
fout = fopen("output.text", "w+");
}
fprintf(fout, "%.3f\n", angle);///把角度印到檔案裡
printf("%.3f\n", angle);///把角度印出來
glutPostRedisplay();///重畫畫面
}
FILE * fin=NULL; ///in檔案一開始是空的NULL
float angle=0;
int oldX=0;
void keyboard(unsigned char key, int x, int y)///要記得main()註冊
{
if(fin==NULL){ ///一開始是空指標所以會進來if()
fin=fopen("output.text", "r");///r表示讀入read
}
fscanf(fin, "%f", &angle);///從檔案fin讀進來
glutPostRedisplay();///讀入資料馬上重畫
}




沒有留言:
張貼留言