ABOUTSSCANF/SPRINTF
目录:
SPRINTF………………………………………………………………………………………
SSCANF……………………………………………………………………………………....
(sprint(字符数组,格式,字符串常量);)
1. 可以将变量打印到字符串里,获取数字的字符形式
程序:
#include<iostream>
#include<cstdio>
usingnamespace std;
intmain()
{
char s[100];
int k=255;
sprintf(s,"%d",k);
int i=0;
while(s[i]!='\0')//说明在转换之后会在串后加上’\0’
{
printf("%c",s[i]);
i++;
}
return 0;
}
2. 可以用于进制转换,将单个字符储存到字符串中
程序:
#include<iostream>
#include<cstdio>
usingnamespace std;
intmain()
{
char s[100];
int k=255;
sprintf(s,"%x",k);
int i=0;
while(s[i]!='\0')
{
printf("%c",s[i]);
i++;
}
return 0;
}
3. 可以用于连接几个字符串,保存到一个总串中
程序:
#include<iostream>
#include<cstdio>
usingnamespace std;
intmain()
{
char buf[1024];
char a[100]="I";
char b[100]="love";
char c[100]="ACM";
sprintf(buf,"%s %s %s",a,b,c);
int i=0;
while(buf[i]!='\0')
{
printf("%c",buf[i]);
i++;
}
return 0;
}
(sscanf(字符串常量,格式,字符数组);)
1. 基本用法:
程序:
#include<iostream>
#include<cstdio>
usingnamespace std;
intmain()
{
char str[512]={0};
char *s="qwe1209876";//字符串常量
sscanf(s,"%s",str);
printf("%s\n",str);
return 0;
}
2. 取指定长度的字符串,下例中为取最大长度为4字节的字符串
程序:
#include<iostream>
#include<cstdio>
usingnamespace std;
intmain()
{
char str[512]={0};
char *s="qwe1209876";
sscanf(s,"%4s",str);
printf("%s\n",str);
return 0;
}
3. 取到指定字符为止的字符串,格式为%[char*]
程序:
#include<iostream>
#include<cstdio>
using namespacestd;
intmain()
{
char str[512]={0};
char *s="qwe21 079876";
sscanf(s,"%[^(7,2)]",str);//注意其中括号的使用
printf("%s\n",str);
return 0;
}
程序是指:取除2和7的字符串,遇到2或7就会停止
4. 取仅包含指定字符集的字符串
程序:
#include<iostream>
#include<cstdio>
usingnamespace std;
intmain()
{
char str[512];
char s[512];
scanf("%s",s);
sscanf(s,"%[a-z,1-9]",str);
printf("%s\n",str);
return 0;
}
5. 取到指定字符集为止的字符串
程序:
#include<iostream>
#include<cstdio>
usingnamespace std;
intmain()
{
char str[512]={0};
char s[512];
scanf("%s",s);
sscanf(s,"%[^(1-9,A-Z)]",str);//同样注意括号的使用
printf("%s\n",str);
return 0;
}