ANSI C: передать переменные из (s) scanf в вызов функции - PullRequest
0 голосов
/ 22 мая 2011

Мой вопрос заключается в том, можно ли напрямую передавать проанализированные данные из scanf в вызов функции. Другими словами, должен ли я инициализировать переменные, которые я хочу передать функции (и прочитать через scanf) или нет.

Ответы [ 2 ]

2 голосов
/ 22 мая 2011

sscanf возвращает количество успешных конверсий.Он не возвращает преобразованные значения.

Таким образом, вы не будете передавать недавно преобразованные данные при передаче возвращаемого значения sscanf непосредственно в другую функцию (если это то, что вы запрашиваете).

1 голос
/ 22 мая 2011

sscanf, как говорили другие, не будет возвращать значения, поэтому нет "прямой" передачи их. Вы можете, однако, обернуть это чем-то вроде этого:

struct mydata* parse(char* string) {
    struct mydata* ret = (struct mydata*) malloc(sizeof(struct mydata));

    sscanf(string, /* load the structure with the data */);

    return ret;
}

Вы можете вызывать любые функции, которые вам нужны для этого.

...