, поэтому у меня есть пользователь, который вводит пункт назначения, время полета и время ожидания.Ввод всегда будет выглядеть как «назначение, 0:00, 0:00», и я пытаюсь скопировать ввод и перепечатать его.У меня есть какая-то функция, чтобы обеспечить его ввод в правильном формате, но есть ли способ напечатать, скажем, время полета после первой запятой?Может быть, я слишком усложняю, любая помощь будет отличной!Спасибо!
Текущая цель: После того, как я подтвердил, что пользователь ввел свою строку в правильном формате, я хочу скопировать ее, а затем перепечатать.Я не могу использовать sscanf, strtok или любую другую функцию, которая выполняет токенизацию строковых данных.
#include <stdio.h>
#include <string.h>
/* == FUNCTION PROTOTYPES == */
int checkForComma(char* pUserString, char comma);
int checkForColon(char* pUserString, char colon);
/* == CONSTANTS == */
const char kComma = ',';
const char kColon = ':';
int main()
{
int numbers = 0;
int loopEnd = 0;
int flightTime = 0;
int inputAccepted = 0;
int commaFound = 0;
int colonFound = 0;
while (loopEnd != 1)
{
char programOutput[81] = "";
char userInput[81] = "";
fgets(userInput, 81, stdin);
strcpy_s(programOutput, 81, userInput);
if ((userInput == NULL) || (userInput == '\0'))
{
printf("Please enter valid input!\n");
return 0;
}
if (userInput == '.')
{
loopEnd = 1;
}
while (inputAccepted == 0)
{
commaFound = checkForComma(programOutput, kComma);
colonFound = checkForColon(programOutput, kColon);
if (commaFound && colonFound == 2)
{
printf("Input Accepted!");
while (commaFound && colonFound == 2)
{
int numberCounter = 0;
char* numCheck = programOutput;
}
break;
}
else
{
printf("Input not accepted!");
return 0;
}
}
printf("Press ENTER key to Continue\n");
getchar();
}
return 0;
}
int checkForComma(char* pUserString, char comma)
{
int counter = 0;
char* pCheck = pUserString;
while ((pCheck = strchr(pCheck, comma)) !=NULL)
{
counter++;
pCheck++;
}
return counter;
}
int checkForColon(char* pUserString, char colon)
{
int counter = 0;
char* pCheck = pUserString;
while ((pCheck = strchr(pCheck, colon)) != NULL)
{
counter++;
pCheck++;
}
return counter;
}