我想知道如果单行用户输入包含符号,您将如何分配多个变量。例如,如果用户输入的是 5-25-1995,是否可以将 5、25 和 1995 分配给不同的变量并忽略“-”?我一直在尝试使用 cin.ignore(),但到目前为止还没有任何运气。
谢谢。
简洁版本:
用户输入“3-24-1995”
期望的结果
int month 是 3,int day 是 24,int year 是 25,
char dummy;
int month, day, year;
cin >> month >> dummy >> day >> dummy >> year;
由于您的具体要求是输入格式为“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));
}