如何从stdin接受c中的2种输入

时间:2017-11-10 08:59:04

标签: c while-loop user-input

有没有办法接受这两种输入?

一封是一封信:v
一个是字母和数字:o 20171212

我有这样的事情:

FILE *f = NULL;
int c;
int d;
int pocet = 0;
int* po  = &pocet;
char** spz = NULL;
long b;
while ((c = getchar()) != 'k') {
    getchar();
    switch (c) {
        case 'v': {
            vypis(&f);
            break;
        }
        case 'o': {
            scanf_s("%ld", &b);
            oopis(f,b);
            break;
        }
        case 'n': {
            spz = nope(f, po, spz);
            break;
        }
        case 's': {
            subs(spz, *po);
            break;
        }
        case 'p': {
            prepare(spz, *po);
            break;
        }
        case 'z': {
            zabi(spz, *po);
            break;
        }
        default: {
            printf_s("Skus znova\n");
            break; 
        }
    }
}
return 0;

此代码的问题是当我输入20171212时它不起作用。此外,目标是等到按下字母“k”,然后输入程序退出,这就是我在循环中使用的原因getchar();

0 个答案:

没有答案