Использование каждых 2-х строк в качестве переменных для метода C - PullRequest
0 голосов
/ 11 февраля 2019

Скажем, у меня есть char* b = "2 3, 32 3, 6 8, 9 10" и метод randMethod(int x, int y)

Как бы я продолжал проходить строку, помещая каждые 2 int как входные данные для randMethod (x, y)?

Таким образом, это будет что-то вроде:

randMethod(2, 3);

randMethod(32, 3);

randMethod(6, 8);

randMethod(9, 10);

1 Ответ

0 голосов
/ 11 февраля 2019

Примерно так:

#include <stdio.h>
#include <string.h>

void randMethod(int x, int y)
{
  printf("%d %d\n", x, y);
}

int main()
{
  const char * b = "2 3, 32 3, 6 8, 9 10";
  int x, y;

  while (sscanf(b, "%d %d", &x, &y) == 2) {
    randMethod(x, y);
    b = strchr(b, ',');
    if (b == NULL)
      break;
    b += 1;
  }

  return 0;
}

Компиляция и исполнение:

pi@raspberrypi:/tmp $ gcc -pedantic -Wextra c.c
pi@raspberrypi:/tmp $ ./a.out
2 3
32 3
6 8
9 10
pi@raspberrypi:/tmp $ 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...