C语言取某个字符后的字符串存到另一个字符串
例如NetworkNumber:58.154.16.0-58.154.31.255NetworkName:SYIAEC-CN我要去这两行每行冒号后的字符串,分别存到另两个...
例如 Network Number: 58.154.16.0 - 58.154.31.255
Network Name: SYIAEC-CN
我要去这两行每行冒号后的字符串,分别存到另两个字符串中 展开
Network Name: SYIAEC-CN
我要去这两行每行冒号后的字符串,分别存到另两个字符串中 展开
5个回答
推荐于2018-02-28 · 知道合伙人教育行家
关注
展开全部
思路:先遍历字符串,如果找到该字符后,把后面的所有字符复制到另一个字符串。
例如:
#include <stdio.h>
#include <string.h>
int main ()
{
char ch1[]="123456789",ch2[20],a='4';
int i=0,j=0;
while(ch1[i++]!=a);
while(ch1[i]){
ch2[j++]=ch1[i++];
}
ch2[j]='\0';
puts(ch2);
return 0;
}
/*
输出:
56789
*/
2015-10-14 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
#include<stdio.h>
#include<string.h> //支持strlen()的应用
#include<stdlib.h> //支持exit(1)
char *mcopy(char*s ,int m); //函数的定义
void main(void)
{
char str1[100];
char *str2;
int m;
printf("请输入你要输入的字符串\n");
gets(str1);
printf("请输入你要开始复制字符的位置m\n");
scanf("%d",&m);
if(m>=strlen(str1)) //若输入m值过大,结束程序
{
printf("输入值超出字符串长度...\n");
exit(1);
}
str2=mcopy(str1,m); //程序的调用
for(int j=0;j<strlen(str2);j++) //把数组进行输出
printf("字符串第%d个元素是%c\n",m++,str2[j]); //字符的输出
}
char *mcopy(char*s ,int m)
{
static char array[100];
int count=0;
for(int i=m-1;i<strlen(s);i++)
{
array[count]=s[i];
count++;
}
return array;
}
#include<string.h> //支持strlen()的应用
#include<stdlib.h> //支持exit(1)
char *mcopy(char*s ,int m); //函数的定义
void main(void)
{
char str1[100];
char *str2;
int m;
printf("请输入你要输入的字符串\n");
gets(str1);
printf("请输入你要开始复制字符的位置m\n");
scanf("%d",&m);
if(m>=strlen(str1)) //若输入m值过大,结束程序
{
printf("输入值超出字符串长度...\n");
exit(1);
}
str2=mcopy(str1,m); //程序的调用
for(int j=0;j<strlen(str2);j++) //把数组进行输出
printf("字符串第%d个元素是%c\n",m++,str2[j]); //字符的输出
}
char *mcopy(char*s ,int m)
{
static char array[100];
int count=0;
for(int i=m-1;i<strlen(s);i++)
{
array[count]=s[i];
count++;
}
return array;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
void main()
{
char buf[200]="Network Number: 58.154.16.0 - 58.154.31.255\0",buf1[200];
int i=0;
while(buf[i]!=0&&buf[i]!=':') i++;
if(buf[i]==':') i++;
sprintf(buf1,"%s",buf+i);printf("[%s]",buf1);/*buf1就是:后面的内容*/
}
运行如下:
[ 58.154.16.0 - 58.154.31.255]
void main()
{
char buf[200]="Network Number: 58.154.16.0 - 58.154.31.255\0",buf1[200];
int i=0;
while(buf[i]!=0&&buf[i]!=':') i++;
if(buf[i]==':') i++;
sprintf(buf1,"%s",buf+i);printf("[%s]",buf1);/*buf1就是:后面的内容*/
}
运行如下:
[ 58.154.16.0 - 58.154.31.255]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码如下。。。我测试过了。。。。
#include "stdio.h"
main()
{
char s1[] = "Network Number: 58.154.16.0 - 58.154.31.255";
char s2[] = "Network Name: SYIAEC-CN";
char result1[30];
char result2[30];
int i,j;
for(i = 0; i<strlen(s1);i++)
if(s1[i]==':'){
j = i+1;
break;
}
for(i=0;j<strlen(s1);i++,j++)
result1[i] = s1[j];
result1[i] = '\0';
puts(result1);
for(i = 0; i<strlen(s2);i++)
if(s2[i]==':'){
j = i+1;
break;
}
for(i=0;j<strlen(s2);i++,j++)
result2[i] = s2[j];
result2[i] = '\0';
puts(result2);
getch();
}
希望对你有帮助。。。。仍有问题可以HI我。。。。。
#include "stdio.h"
main()
{
char s1[] = "Network Number: 58.154.16.0 - 58.154.31.255";
char s2[] = "Network Name: SYIAEC-CN";
char result1[30];
char result2[30];
int i,j;
for(i = 0; i<strlen(s1);i++)
if(s1[i]==':'){
j = i+1;
break;
}
for(i=0;j<strlen(s1);i++,j++)
result1[i] = s1[j];
result1[i] = '\0';
puts(result1);
for(i = 0; i<strlen(s2);i++)
if(s2[i]==':'){
j = i+1;
break;
}
for(i=0;j<strlen(s2);i++,j++)
result2[i] = s2[j];
result2[i] = '\0';
puts(result2);
getch();
}
希望对你有帮助。。。。仍有问题可以HI我。。。。。
更多追问追答
追问
这样只有两个可以 如果我有多个这样的信息呢?而且假如是
Network Number: 58.154.16.0 - 58.154.31.255
Network Name: SYIAEC-CN
dajlfangnaldnga:
dadagag,
Network Number: 58.154.16.0 - 58.154.31.255
Network Name: SYIAEC-CN
这样的怎么办,不光这几行信息,还有好几十行
追答
Network Number:
Network Name:
提取的只是这两个后面的吗?其它的分号后面的还提取吗?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdlib.h>
#include <string.h>
void main()
{
FILE *fp;
char buf[3][1024];
char *Input1=buf[0],*Input2=buf[1],*save=buf[2];
printf("请输入密码:\n");
scanf("%s",Input1);
fp=fopen("code.txt","w"); //以读写方式打开code.txt文件,如果没有文件就建立这个文件
fputs(Input1,fp); //将save里边的字符窜(即密码)写入code.txt文件中
printf("请再输入密码:\n");
scanf("%s",Input2);
fclose(fp);
fp=fopen("code.txt","r");
fgets(save,1024,fp);
fclose(fp);
if(strcmp(Input2,save)==0) //string.h 里边的函数
printf("success\n");
else
printf("error\n");
}
#include <string.h>
void main()
{
FILE *fp;
char buf[3][1024];
char *Input1=buf[0],*Input2=buf[1],*save=buf[2];
printf("请输入密码:\n");
scanf("%s",Input1);
fp=fopen("code.txt","w"); //以读写方式打开code.txt文件,如果没有文件就建立这个文件
fputs(Input1,fp); //将save里边的字符窜(即密码)写入code.txt文件中
printf("请再输入密码:\n");
scanf("%s",Input2);
fclose(fp);
fp=fopen("code.txt","r");
fgets(save,1024,fp);
fclose(fp);
if(strcmp(Input2,save)==0) //string.h 里边的函数
printf("success\n");
else
printf("error\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询