Wyobraźmy sobie następujący:nie obchodzi w scanf
można przeczytać w ciągu z scanf()
ale wystarczy tylko kilka z punktów danych w ciąg.
Czy istnieje łatwy sposób na wyrzucenie zbędnych informacji, bez utraty możliwości sprawdzenia, czy są tam odpowiednie dane, aby można łatwo odrzucić zniekształcone ciągi znaków?
przykład:
const char* store = "Get: 15 beer 30 coke\n";
const char* dealer= "Get: 8 heroine 5 coke\n";
const char* scream= "Get: f* beer 10 coke\n";
Chcę przyjąć pierwszy ciąg, ale zapomnieć o piwie, bo piwo jest yuckie. Chcę odrzucić drugi i trzeci ciąg, ponieważ wyraźnie nie są to odpowiednie listy dla 7/11;
Więc myślałem o następującej budowie:
char* bId = new char[16];
char* cId = new char[16];
int cokes;
sscanf([string here], "Get: %d %s %d %s\n", [don't care], bId, &cokes, cId);
ten sposób chciałbym zachować kontrolę formatu, ale to, co chciałbym umieścić na [nie obchodzi], że nie robi skowyt kompilatora?
Oczywiście mogłem po prostu utworzyć zmienną, której później nie używam, ale nie o to pytam. Również sprawdzenie lewej i prawej strony jest oczywistym rozwiązaniem, którego tutaj nie szukam.
Czy istnieje sposób, aby nie przejmować się, ale nadal sprawdzić typ fragmentu w scanf i przyjaciele?
Wiedziałem, że to być oczywiste lub niemożliwe. – NomeN