用sprintf合拼
char name[10] = "hello";
int age = 123;
char buffer[80];
sprintf(buffer, "%s%d xx", name, age);
printf("%s",buffer);buffer就是合并后的字符串。
相关函数:sscanf(),相当于拆分。
#include <stdio.h>
int main(void)
{
char str[100] ="123568qwerSDDAE";
char lowercase[100];
int num;
sscanf(str,"%d %[a-z]", &num, lowercase);
printf("The number is: %d.\n", num);
printf("The lowercase is: %s.", lowercase);
return 0;
}
但如果拼接ip的话,可用:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
const char* ip_increment(char *ip)
{
struct in_addr addr;
addr.s_addr=htonl(htonl(inet_addr(ip))+1);
return inet_ntoa(addr);
}
int main()
{
printf("%s\n",ip_increment("192.168.1.1"));
return 0;
}