include<iostream>
#include<cmath>
#define PI 3.1415
using namespace std;
void putMarkInGraph(double t,double y,int yy,double max_amp);
int round(double y);
int main(int argc,char*argv[])
{
int i,yy;
double amp,f,ph,t;
double y=0;
double max_amp=50;
for(i=0;i<argc;i++)
{
printf("argv[%d]:%sn",i,argv[i]);
}
amp=atof(argv[2]);
f=atof(argv[3]);
ph=atof(argv[4]);
소스가 이렇게 내려갈때 argv로 인자를 받지 않은 와중에 실행되서 ctrl f5로 하면 실행시 오류가 나고
cmd로 하면 실행시 오류가 나지 않는다는 이야기였는데
여기에 대한 답으로 main문 초기에 if로 argc가 0인지를 확인 하라고 하셔서,
include<iostream>
#include<cmath>
#define PI 3.1415
using namespace std;
void putMarkInGraph(double t,double y,int yy,double max_amp);
int round(double y);
int main(int argc,char*argv[])
{
//--------------추가---------------
if(argc==0)
{
cout<<"그만!";
return 0;
}
//----------------------------------
int i,yy;
double amp,f,ph,t;
double y=0;
double max_amp=50;
for(i=0;i<argc;i++)
{
printf("argv[%d]:%sn",i,argv[i]);
}
amp=atof(argv[2]);
f=atof(argv[3]);
ph=atof(argv[4]);
로 해봤는데 그래도 안되네요ㅠㅠ
cmd말고 ctrl f5로 이상없이 실행 만이라도 되게하려 면 어떻게 해야 하나요?
-----------------추가-----------------------------
임의로 인자 지정해 주는 방법 말고 알고리즘상으로 하는방법은 없을까요?ㅠ
댓글 0