我想知道如果包含符号,您将如何从单行用户输入中分配多个变量。例如,如果用户输入是5-25-1995,是否可以将5,25和1995分配给不同的变量并忽略“ - ”的?我一直在尝试使用cin.ignore(),但到目前为止还没有运气。
感谢。
简短版本:
用户输入“3-24-1995”
期望的结果
int month是3, int day是24, int year是25,
答案 0 :(得分:4)
char dummy;
int month, day, year;
cin >> month >> dummy >> day >> dummy >> year;
答案 1 :(得分:0)
因此,您的具体要求是输入格式为“3-24-1995” 可能是符合您需求的东西,并产生您想要的东西。
/* Code */
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main ()
{
char str[] ="3-24-1995"; // Your input that you will have some way of getting
char * month, *day, *year;
month=strtok (str,"-");
day = strtok (NULL,"-");
year = strtok (NULL,"-");
// Here, converting to int, just because you were looking to convert it into
// int otherwise you could just leave it un converted too.
printf("month: %d day: %d year: %d\n",atoi(month), atoi(day), atoi(year));
}