ユーザーが入力した文字列の残りをコピーしようとしています。次の場合は常に入力されます: 空港、00:00、00:00。数字は飛行時間と乗り継ぎ時間です。私のコードでは、空港を吐き出すようにしましたが、strchr を使用して最初の "," 以降のすべてを見つけようとするのは面倒です。空港を削除して残りを新しい文字列に入れ、引き続き strchr を使用する方法はありますか? コンマで区切られた文字列を再フォーマットする必要があるのが目標です。最終結果は、「都市には飛行時間 tt.tt 時間と乗り継ぎ時間 tt.tt 時間があります」となるはずです。scanf などを使用できないので、strchr と strcopy が私の唯一のオプションのようです。どんな助けでも大歓迎です。
現在、文字列の最後の「、」の後に文字を見つけようとすると、エラーが発生します。
割り当て規則: strtok()、scanf 関連の関数、文字列データのトークン化を行う関数は使用しないでください。
int main()
{
int counter = 0;
int flightTimeNum = 0;
char userInput[81] ="";
char userInputNew[81] = "";
char cityNew[20] = "";
char flightTime[20] = "";
char layOverTime[20] = "";
fgets(userInput, 81, stdin);
char *city;
char *flight;
char *layover;
city = strchr(userInput, ',');
strncpy(cityNew, userInput, city - userInput);
printf("%s\n" ,cityNew);
layover = strrchr(userInput, ',');
strncpy(layOverTime, userInput, layover - userInput);
printf("%s\n", layOverTime);
printf("Press ENTER key to Continue\n");
getchar();
}