我试图使用gcc从Linux上的ANSI C代码中提取此uri字段中的用户名
mail:username@example.com
Run Code Online (Sandbox Code Playgroud)
所以我需要剥离邮件:以及@之后的所有内容.C中是否有内置函数来提取子字符串
char *uri_field = "mail:username@example.com";
char username[64];
sscanf(uri_field, "mail:%63[^@]", username);
Run Code Online (Sandbox Code Playgroud)
如果你可能在开头有其他"垃圾"(不一定只是mail:),你可以这样做:
sscanf(uri_field, "%*[^:]:%63[^@]", username);
Run Code Online (Sandbox Code Playgroud)