2018年5月25日 星期五

Week13 夏玉庭

寫檔 讀檔
寫檔: File-New-EmptyFile, Save As week13_fprintf.cpp
#include<stdio.h>
int main()
{
      FILE * fout = fopen("檔名","w+");
      fprintf(fout,"Hello World\n");
}
改寫
#include<GL/glut.h>
#include<stdio.h>
FILE * fout = NULL; ///(0)宣告檔案的指標, 一開始是空的
float anlge = 0,angle2 = 90,angle = 60;
void keyboard(unsigned char key, int x, int y)
{
        if(key == 's' || key == 'S' || key == 'w' || key == 'W'){
              if(fout == NULL) fout = fopen("檔名","w+");
              ///只有第一次按s鍵, 才會還沒有值, 才fopen
              ///因為第二次按s鍵, fout名花有主, 不會重複開檔案
              printf("%.3f  %.3f  %.3f\n"angle, anlge2, angle3);
              fprintf(fout, "%.3f  %.3f  %.3f\n", anlge, angle2, angle3);
        } ///3個角度的值 印到檔案去
        if(key == 'r' || key == 'R'){
              if(fin== NULL) fin = fopen("檔名","r"); ///第一次讀檔時要先開檔
              fscanf(fin, "%f  %f  %f\n", &anlge, &angle2, &angle3); ///讀入之前的擋案
              glutPostRedisplay(); ///重畫畫面
        }
}


有個main.cpp
copy程式碼到你的專案的main.cpp
(1) keyboard()函式 (寫檔)
(2) display()函式 (身體+旋轉臂)
(3) motion()函式 (mouse motion控制關節)

沒有留言:

張貼留言