C语言如何实现取字符串的一部分?

如string="asdkjfla;ksd7963247589345"如何把后面的数字取出来用什么函数?代码?... 如 string="asdkjfla;ksd7963247589345"
如何把后面的数字取出来
用什么函数?代码?
展开
 我来答
帐号已注销
推荐于2019-09-22 · TA获得超过25.9万个赞
知道小有建树答主
回答量:2206
采纳率:96%
帮助的人:82万
展开全部

例子如下:

直接编译,程序输出结果中任意输入字符串和数字,程序执行结果如下图所示:

扩展资料:

字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

修者世界
推荐于2018-04-23 · TA获得超过5851个赞
知道大有可为答主
回答量:5984
采纳率:61%
帮助的人:812万
展开全部
如果提取指定长度的字符串有专门的函数:strncpy(*s1,*s2,n);
如果提取字符串中从n开始的m个字符,程序如下:
#include<stdio.h>

#include<string.h>
void main()
{
unsigned int i,j,m,n;

char s1[80],s2[80];

printf("请输入一个字符串以回车键结束:\n");
gets(s1);
printf("请输入子串的起始位置和长度:");
scanf("%d%d",&n,&m);
if(n>0&&n<=strlen(s1))
{
if (m>0&&n+m<=strlen(s1)+1)

{

for(i=n-1,j=0;s1[i]&&i<n+m-1;i++,j++)

s2[j]=s1[i];

s2[j]='\0';

puts(s2);
}

else
printf("长度超出范围!\n");
else
printf("起始位置超出范围!\n");
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-09-03
展开全部
可以用strncpy()函数

#include <string.h>

char sub[20];

strncpy(sub,string+12,13)
/*将string中从string[12]开始的13个数字复制到sub中*/
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿鑫追好剧
2018-05-23 · TA获得超过1072个赞
知道答主
回答量:16
采纳率:33%
帮助的人:3507
展开全部
#include <stdio.h>

int main()
{
int i, j, length;
char a[] ="hello world";
int from, num;

scanf("%d",&from); //截取开始的字符下标
scanf("%d",&num); //共截取的字符数
char b[num];

for (length = 0; a[length]!= '\0'; length++){}
if (from>=0)
if (from+num <= length ){
i = from; j=0;
while ( j<num){
b[j] = a[i];
printf("%c",b[j]);
j++; i++;}
}return 0;
}
#include <stdio.h>
int main(){
int i, j, length;
char a[] ="hello world";
int from, num;
scanf("%d",&from); //截取开始的字符下标
scanf("%d",&num); //共截取的字符数
char b[num];

for (length = 0; a[length]!= '\0'; length++){}
if (from>=0)
if (from+num <= length ){
i = from; j=0;
while ( j<num){
b[j] = a[i];
printf("%c",b[j]);
j++; i++;}
}return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小灰灰605
2018-04-23
知道答主
回答量:5
采纳率:100%
帮助的人:1.8万
展开全部
C语言中想把一个数据分块,可以在读取数据的时候进行分块储存,不要整体读入之后,再进行分块。
如果数据是其他方式导入的,那只能通过先储存到硬盘,再读到内存,通过文件指针的移动,依次分块读入。
因为,数据存储是用整块内存存储的,不能直接将内存(即数据)进行分块,memcpy也只能获取数据前边一部分。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式