c - 在C中提取一个子串

标签 c linux

我正在尝试使用 gcc 在 Linux 上的 ANSI C 代码中从这个 uri 字段中提取用户名

mail:username@example.com

所以我需要删除邮件:以及@ 之后的所有内容。 C 中是否有任何内置函数来提取子字符串

最佳答案

char *uri_field = "mail:username@example.com";

char username[64];

sscanf(uri_field, "mail:%63[^@]", username);

如果您的开头可能有其他“垃圾”(不一定只是 mail:),您可以改为这样做:

sscanf(uri_field, "%*[^:]:%63[^@]", username);

关于c - 在C中提取一个子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3478636/

相关文章:

linux - 为什么有时无法识别子外壳中的 DB2 连接

linux - 在 Amazon Ec2 上为 apache 用户设置路径变量

linux - 在 bash 中不工作循环

c - 如何将函数作为参数传递?

c++ - 如何在具有大端架构的机器上测试您的代码?

linux - 没有浏览器的 Raspberry Pi 上的 WebRTC

c - 为什么这个 linux 伪终端程序不起作用?

c - 以空终止符结尾的字符串文字是否包含额外的空终止符?

c - 为什么我的 Fork 子进程不从管道读取?

c - 如何比较两个整数中未对齐的单个位?