VS2012的调试问题
..像这种需要从命令行获取参数的程序如何进行调试??用的编译器是VS2012,我按F5就以闪而过了,,,按F10将进入调试,但是无法获取参数,,#include<stdio.h>
#include<string.h>
#include<ctype.h>
#define col_size 16
#define rep_hex_size 36
void hex_line(int pos,int col,int *data,char *hex)
{
char buffer[3];
int hex_pos=0;
int end=pos%col_size==col?col:col_size; //判断最后一行
for(int i=0;i<end;i++)
{
if(i%4==0&&i>0)
{
hex[hex_pos++]=' ';
}
sprintf(buffer,"%X",data[i]); //16进制表示
hex[hex_pos++]=buffer[0];
hex[hex_pos++]=buffer[1];
}
while(hex_pos<rep_hex_size-1)
{
hex[hex_pos++]=(hex_pos+1)%9==0?' ':'0'; //以0填充
}
hex[rep_hex_size-1]='\0';
}
void dump_output(char *file)
{
FILE*input=NULL;
int data[col_size];
char rep_hex[rep_hex_size];
char rep_char[col_size];
int pos=0;
int col=pos%col_size;
input=fopen(file,"r");
if(input!=NULL)
{
while((data[col]=fgetc(input))!=EOF)
{
if(data[col]=='\r'||data[col]=='\n')
{
continue;
}
rep_char[col]=isprint(data[col])>0?(char)data[col]:'.';
pos++;
if(pos%col_size==0&&pos>1)
{
hex_line(pos,col,data,rep_hex);
rep_char[col_size]='\0';
printf("%06X %s 8%s8\n",pos-col_size,rep_hex,rep_char);
}
col=pos%col_size;
}
if(col>0)
{
rep_char[col]='\0';
hex_line(pos,col,data,rep_hex);
printf("%06X %s *%s*\n",pos-pos%col_size,rep_hex,rep_char);
}
if(fclose(input)!=0)
{
perror(file);
}
}
}
int main(int argc,char**argv)
{
int exit_status=0;
if(*++argv!=NULL)
{
dump_output(*argv);
}
return exit_status;
}