Я новичок в программировании на C.Я хочу извлечь значения из строки входного буфера.Я видел пару примеров для sscanf
, и он работает с разделителем пробелов, но не работает с двоеточиями или запятыми.
Я пытался использовать некоторые регулярные выражения в sscanf, но, похоже, не работает.
#include <stdio.h>
int main() {
char buffer[] = "T:192.164.7.1:22:user:pass:empty:test.txt";
char cmdChar;
char ipAddress[100];
int port;
char username[100];
char password[100];
char folder[100];
char fileName[100];
char fileExtension[100];
sscanf(buffer, "%1c:%[^:]%d:%s:%s:%s:%s.%s", cmdChar, ipAddress, &port, username, password, folder, fileName, fileExtension);
printf("%c \n\n", cmdChar);
}
Пытался напечатать первый символ cmdChar
, но он возвращается как NULL
.Может кто-нибудь указать мне, что я делаю неправильно.Спасибо!