鱼C论坛

 找回密码
 立即注册
查看: 5218|回复: 5

sscanf()函数题

[复制链接]
发表于 2013-8-4 15:03:02 | 显示全部楼层 |阅读模式
3鱼币

#include <stdio.h>

#include <string.h>

int main(int argc, char *argv[])

{

     char buf[1024],str1[100],str2[100],str3[100],str4[100],temp[100]="<default>";


     int count;

     scanf("%d",&count);

     while(count--)

     {

        str1[0]='\0';

        str2[0]='\0';

        str3[0]='\0';

        str4[0]='\0';

        scanf("%s",buf);

        sscanf(buf,"%[^:]://%[^:,/]:%[,1-9]",str1,str2,str3,str4);    //??

        sscanf(buf,"%[^:]://%[^:,/]/%[a-z,A-Z,/,~]",str1,str2,str4);   //??

        if(str3[0]=='\0')strcpy(str3,temp);   

        if(str4[0]=='\0')strcpy(str4,temp);

        printf("%s\n%s\n%s\n%s\n",str1,str2,str3,str4);

     }

     return 0;

}


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-5 00:04:08 | 显示全部楼层
读取字符串
解析网址
str1为协议,例如ftp,http
str2为网站地址
str3为端口号
str4为网站路径
改良后的代码
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv [])
{
        char buf[1024], str1[100], str2[100], str3[100], str4[100], temp[100] = "<default>";

        int count;
        scanf("%d", &count);
        while (count--)
        {
                str1[0] = '\0';
                str2[0] = '\0';
                str3[0] = '\0';
                str4[0] = '\0';
                scanf("%s", buf);
                sscanf(buf, "%[^:]://%[^:/]:%[0-9]", str1, str2, str3);    //??
                sscanf(buf, "%[^:]://%[^:/]%*[^/]/%[a-zA-Z0-9._/-]", str1, str2, str4);   //??
                if (str3[0] == '\0')strcpy(str3, temp);
                if (str4[0] == '\0')sscanf(buf, "%[^:]://%[^:/]/%[a-zA-Z0-9._/-]", str1, str2, str4);
                if (str4[0] == '\0')strcpy(str4, temp);
                printf("%s\n%s\n%s\n%s\n", str1, str2, str3, str4);
        }
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-5 00:39:02 | 显示全部楼层
本帖最后由 565123 于 2013-8-5 00:40 编辑

http://bbs.fishc.com:80/thread-35348-1-1.html

输出
http
bbs.fishc.com
80
thread-35348-1-1.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-6 08:04:16 | 显示全部楼层
好像看不懂啊?。。。。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-6 19:17:28 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-21 10:26:49 | 显示全部楼层
:shy:居然还有sscanf函数,百度一下涨知识去,哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 00:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表