一、使用strtok函数,按空格直接分解为子串
创新互联建站是一家专注于成都网站建设、成都网站设计与策划设计,璧山网站建设哪家好?创新互联建站做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:璧山等地区。璧山做网站价格咨询:028-86922220
二、使用strpbrk函数和strspn函数
三、自己勤劳一点实现
四、使用boost或vs2010的正则表达式
五、写个Lua或Python脚本,嵌入到你的程序中,^-^
六、std::string的substr, CString 的Mid方法
我也碰到了类似的问题
void convert(int32 temp)
{
uint16 t1,t2;
t1=temp0x0000FFFF;
t2=temp16;
t2=temp0x0000FFFF;
}
其中t1放的是低16位,t2放的是高16位 你看看合理不?
#includestdio.h
#define max 200 //输入的数最多两百个
int main()
{
int i,input,len=0;
int a[max],front;
printf("\nplease input the number!\n");
scanf("%d",input);
printf("请输入要取出的位数!\n");
scanf("%d",front);
len=strlen(input); //输入数字的长度
for(i=0;ifront;i++) //用来取出所有的单个数字
{
a[i] =input/(10^len);
input=input%(10^len);
len--;
}
for(i=0;ifront;i++)
{
printf("%d",a[i]);
}
}
这道题应该能运行,不能的话,发个消息过来,我来调试下!
这个原型声明没有问题,传递进去一个字符串,起始字符的位置,以及截取的长度。按照这个意思
来写最后是没有问题的。返回值为字符型指针可以在这个函数里面声明一个字符数组,最后将这个
字符数组返回。
#include "stdio.h"
#include "string.h"
main()
{
char* p ="abcdefg";
int len = strlen(p);
char* t = p[len-1];
printf("%c\n",*t);
}
我的要烦琐点,不过你看得懂就可以:
#include stdio.h
int main( )
{
int time1, time2, hours, mins, t1h, t1m, t2h, t2m;
scanf("%d%d", time1, time2);
/*---------*/
t1m = time1 % 100; // 存储time1的分数
t1h = time1 / 100; // 存储time1的小时数
t2m = time2 % 100; // 同上
t2h = time2 / 100; // 同上
if(t2m t1m)
{
mins = t2m + 60 - t1m; // 不足借60分减去一小时
--t2h;
}
else
mins = t2m - t1m;
if(t2h t1h)
hours = t2h + 24 - t1h; // 不足借1天
else
hours = t2h - t1h;
printf("The train journey time is %d hrs %d mins.\n", hours, mins);
}
这程序有个限制就是你不能输入大于24的数字作为小时和大于60的数字作为分钟,否则结果不确定;而且如果前后两个时间跨越的天数不止一天的话算出来的其实也是一个小于24小时的时间(相当于假定只跨越了一天)。
截取前几位的意思是截取字符串前某几个字符吗?如果是的话,C语言中有:
char * strncpy ( char * destination, const char * source, size_t num );
可以将前几位复制到新的字符串中使用。
C++中有:
string substr (size_t pos = 0, size_t len = npos) const;
测试源码见以下链接:
strncpy:
string::substr:
希望能够帮到你。