gpt4 book ai didi

c - 键入 C 时自动添加一个点 (.)

转载 作者:太空宇宙 更新时间:2023-11-04 08:27:54 27 4
gpt4 key购买 nike

我想知道有没有类似于scanf的函数允许在c中自定义输入。我想要做的是当用户输入想要的日期时,每隔几个字符添加一个点。当用户想要确认他的输入时,他应该按下回车键,并且该变量被保存在某处。

示例:用户输入 11.04.2015。

当他输入 11 时,控制台上添加了点。 4 和 2015 之后也是如此。

非常感谢您的回答。平台为Windows

最佳答案

一个快速的解决方案,这个处理日期在 3 block 的格式组上。这在两个 int 之后添加一个 .

#include<stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
char ch;
char input[16];
char *p;
int i = 0;
int part = 0;
memset(input, 0, sizeof(input));

p = input;
system("stty raw -echo");
while(1)
{
ch = getchar();
if(ch == '~'){//terminate or come out of raw mode on "~" pressed
system("stty cooked sane");
return 0;
}
if (ch >= '0' && ch <= '9') {
*p++ = ch;
if (i++ == 1) {
if (part++ == 2) {
printf("\rdone: %s\n", input);
/* Finish your prog here*/
break;
}
*p++ = '.';
i = 0;
}
} else if (ch == '.') {
*p++ = ch;
i = 0;
part++;
}
printf("\r%s", input);
}
system("stty cooked sane");
return 0;
}

关于c - 键入 C 时自动添加一个点 (.),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29579323/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com