一行输入一个无符号整数,作为stdout输出。
将不符合这个形式的输入除去 并作为stderr输出。
输入例
1
2
3 4
5 6 7
8
输出例(stdout)
1
2
8
输出例(stderr)
3 4
5 6 7
不知道该怎么办。。。我们连stdout stderr是什么怎么控制都没学过
求大神解答
一行输入一个无符号整数,作为stdout输出。
将不符合这个形式的输入除去 并作为stderr输出。
输入例
1
2
3 4
5 6 7
8
输出例(stdout)
1
2
8
输出例(stderr)
3 4
5 6 7
不知道该怎么办。。。我们连stdout stderr是什么怎么控制都没学过
求大神解答
楼上大神写的挺好的,但是我发现一个问题,他的程序只是形似神不似。这个要判断当前输入行是否是无符号整数而不是0-9的整数,当你输入12这个整数时他会分到err里面,其实并不是这样的。我稍微修改一下给楼主参考。
int iszs(char a[])
{
int ck=1;
int i=0;
for(i;i<strlen(a);i++)
if(a[i]==' ')
{
ck=0;
break;
}
return ck;
};
int main()
{
char out[10][10];
char err[10][10];
char buf[10];
char str[10];
int i=0,j=0,m;
while(gets(buf))
{
if(iszs(buf))
{
strcpy(out[i], buf);
i++;
}else
{
strcpy(err[j], buf);
j++;
}
}
printf("stdout:\n");
for(m=0;m<i;m++)
printf("%s\n",out[m]);
printf("stderr:\n");
for(m=0;m<j;m++)
printf("%s\n",err[m]);
getch();
return 0;
}