0

我想知道如果单行用户输入包含符号,您将如何分配多个变量。例如,如果用户输入的是 5-25-1995,是否可以将 5、25 和 1995 分配给不同的变量并忽略“-”?我一直在尝试使用 cin.ignore(),但到目前为止还没有任何运气。

谢谢。

简洁版本:

用户输入“3-24-1995”

期望的结果

int month 是 3,int day 是 24,int year 是 25,

4

2 回答 2

4
char dummy;
int month, day, year;
cin >> month >> dummy >> day >> dummy >> year;
于 2013-03-11T02:34:11.033 回答
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));
}
于 2013-03-11T03:45:07.027 回答