思路:输入字符串的时候,把分隔符“.”读取出来,然后判断分隔符旁边的数字是否在0~~255之间,然后判断是否合法。
代码:
// IsIpAddre.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
int main(void)
{
char str[31],temp[31];
int a,b,c,d;
while(gets(str)!=NULL)
{
if(sscanf(str, "%d.%d.%d.%d ",&a,&b,&c,&d)==4 && a>=0 && a<=255 && b>=0 && b<=255 && c>=0 && c<=255 && d>=0 && d<=255)
{
sprintf(temp, "%d.%d.%d.%d",a,b,c,d); //把格式化的数据写入字符串temp
if(strcmp(temp,str)==0)
{
printf("YES\n");
}
else
{
printf("NO\n");
}
}
else
{
printf("NO\n");
}
}
return 0;
}
-
#include<stdio.h>
-
#include<string.h>
-
intmain(void)
-
{
-
charstr[31],temp[31];
-
inta,b,c,d;
-
while(gets(str)!=NULL)
-
{
-
if(sscanf(str,"%d.%d.%d.%d",&a,&b,&c,&d)==4&&a>=0&&a<=255&&b>=0&&b<=255&&c>=0&&c<=255&&d>=0&&d<=255)
-
{
-
sprintf(temp,"%d.%d.%d.%d",a,b,c,d);
-
if(strcmp(temp,str)==0)
-
{
-
printf("YES\n");
-
}
-
else
-
{
-
printf("NO\n");
-
}
-
}
-
else
-
{
-
printf("NO\n");
-
}
-
}
-
return0;
-
}
分享到:
相关推荐
在程序设计中有很多时候需要格式控制的,这时使用sscanf和sprintf就可以了
sscanf,sprintf,fscanf,fprintf 系列函数的用法小结
C语言或者C++ 中的sscanf的一些操作练习进行详解,一般用来分割字符串; 如固定格式的ch = "\"aa bb cc\" \"dd ff gg\"";
详解C++中十六进制字符串转数字(数值) ...以上的 format 为 %x 就是将字符串格式化为 16 进制数 例子: #include void main() { char* p = 0x1a; int nValude = 0; sscanf(p, %x, &nValude); pr
sscanf ,sscanf ,sscanf
涉及的C语言知识点有:基本数据类型、运算符及控制语句、数组 、结构体、链表、函数、指针、文件、内存等等,比较重要的是字符串操作函数如字符串切割函数strtok、字符串解/组包函数sscanf/sprintf函数。
sscanf函数的高级用法,在C程序中我们往往用它实现对各种复杂格式字符串的处理(解析),配合sprintf
fprintf、printf、sprintf、fscanf、scanf、sscanf_格式化输入输出
stm32 rt-thread中,C库的atof不管用,这个是替代C库的atof实现。
sscanf函数的范例的用法和实例,使人尽快掌握sscanf的用法。
将混合有字符串和数据的文件,在matlab中读取,提取数据信息。 运用脚本,适合批量读取,而非手动插入数据。
sscanf用法例子 比较小 有兴趣就下
sscanf()为C语言标准库函数,用于从指定字符串中读入与指定格式相符的数据。函数原型声明在stdio.h头文件中: int sscanf(const char *str, const char *format, ...); 该函数根据参数format(格式化字符串)来...
选项: 名称/值------------------- 'del' --分隔符字符串'key' --标识符字符串'dec' -- 替代十进制字符串'fmt' --format 字符串传递给 sscanf ----- 请注意:有很多方法可以通过直接应用一个或多个内置的 Matlab ...
matlab开发-读取数字字符串。函数parse_numbers应用sscanf从分隔字符串中读取数字。
sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。但是有点类似于正则表达式
printf语法: #include <stdio>int printf( const char *...sprintf()函数和printf()类似,格式控制完全一样,只要是printf使用的格式化字符串,在sprintf都可以使用,只是把输出发送到buffer(缓冲区)中。返回值是写入的
带有目录查询的fprintf、printf、sprintf、fscanf、scanf、sscanf_格式化输入输出