C语言中,读取字符串中的一个位置

比如我有一个字符串234ed5ab我想要读取"e"这个字符,然后printf出来或者是连续的字符"4ed"。。。同样怎么做到... 比如我有一个字符串 234ed5ab
我想要 读取"e"这个字符,然后printf出来
或者是连续的字符"4ed"。。。同样

怎么做到
展开
 我来答
爱教育爱学习
高粉答主

2019-11-21 · 学而不思则罔,思而不学则殆
爱教育爱学习
采纳数:386 获赞数:112709

向TA提问 私信TA
展开全部

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

/**

*查找字符串首次出现的位置

*

*charneedle[]="name";

*charhaystack[]="mynameiszhangwoods";

*printf("strpospositionis:%d",strpos(haystack,needle));

*

*@paramhaystack在该字符串中进行查找

*@paramneedle要查找的字符串

*@return返回needle存在于haystack字符串起始的位置-1代表未找到

*/

intstrpos(constchar*haystack,constchar*needle)

{

intn,p=0;

if(*haystack&&*needle)

{

while(*haystack)

{

for(n=0;*(haystack+n)==*(needle+n);n++)

{

if(!*(needle+n+1))

{

returnp;

}

}

p++;

haystack++;

}

}

return-1;

}

intmain(void)

{

charneedle[]="name";

charhaystack[]="mynameiszhangnamewoods";

printf("data:%d",strpos(haystack,needle));

return0;

}

扩展资料

C语言读取主字符串中指定的字符串

#include<stdio.h>

#include<string.h>

intmain()

{

charstr[100];

sscanf("2737237:348384122","%*[^:]:%[^\n]",str);//使用正则表达式:从:开始读取到最后

printf("%s\n",str);

return0;

}

TableDI
2024-07-18 广告
在Excel中匹配两列数据,通常有以下几种方法:1. **使用VLOOKUP函数**:该函数可根据指定值,在另一列或区域中查找并返回对应的结果。例如,在C1单元格输入`=VLOOKUP(A1,B:B,1,FALSE)`,即可查找A1在B列中... 点击进入详情页
本回答由TableDI提供
小夏聊生活
高能答主

2019-11-24 · 专注于分享生活知识,热爱生活
小夏聊生活
采纳数:447 获赞数:114593

向TA提问 私信TA
展开全部

#include <stdio.h>

int fun(char *s)

{

char t[80];

int i, j;

for(i=0; s[i]; i++) /*将串s拷贝至串t*/

t[i]=s[i];

t[i]='\0';

for(i=0,j=0; t[i]; i++)

/*对于数字字符先写一个$符号,再写该数字字符*/

if(t[i]>='0' && t[i]<='9')

{

s[j++]='$';

s[j++]=t[i];

}

/*对于非数字字符原样写入串s*/

else

s[j++]=t[i];

s[j]='\0'; /*在串s结尾加结束标志*/

return 0;

}

int main()

{

char s[80];

printf ( "Enter a string:" );

scanf ("%s", s); /*输入字符串*/

fun(s);

printf ("The result: %s\n", s); /*输出结果*/

return 0;

}

运行结果:

Enter a string:A1B23CD45

The result: A$1B$2$3CD$4$5

扩展资料

1、字符串是由若干有效字符构成且以字符'\0'作为结束标志的一个字符序列。、

2、字符串常量是用一对双引号括起来的一串字符,如“happy”。其中'\0'作为字符串的结束标志,在这里可不显式输出,C编译程序自动在其尾部自动添加字符'\0'。

3、C语言中只提供了字符数据类型,没有提供字符串数据类型,C语言中的字符串是通过字符数据来实现的,所有表示字符串的字符数组的最后一个元素都是空字符(ASCII 码值为0的字符'\0')。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿四哥vlog
2020-12-27 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:607
采纳率:0%
帮助的人:26.9万
展开全部

C语言字符串的学习,输入指定字符串,并且计算字符串的位数

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tattackor
推荐于2017-09-25 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:854万
展开全部
  1. 先将所有的读进来存在一个字符串中,然后用字符分割函数strtok()
    原型:char *strtok(char s[], const char *delim);
    功能:分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串;
    例如:strtok("abc,def,ghi",","),最后可以分割成为abc def ghi.尤其在点分十进制的IP中提取应用较多;
    说明:strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串中包含的所有字符。当strtok()在参数s的字符串中发现参数delim中包含的分割字符时,则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回指向被分割出片段的指针;
    返回值:从s开头开始的一个个被分割的串。当查找不到delim中的字符时,返回NULL。所有delim中包含的字符都会被滤掉,并将被滤掉的地方设为一处分割的节点。

  2. 例如

  char str[] = "now # is the time for all # good men to come to the # aid of their country";
    char delims[] = "#"; //分割字符
    char *result = NULL;
    result = strtok( str, delims );//初始化
    while( result != NULL ) { //循环判断,没有分割完时,继续分割
        printf( "result is \"%s\"\n", result );//输出分割的内容
         result = strtok( NULL, delims );//返回下一次分割的字符串
    }
以上代码的运行结果是:
   result is "now "
    result is " is the time for all "
    result is " good men to come to the "
    result is " aid of their country"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
456ter
推荐于2017-09-07
知道答主
回答量:50
采纳率:0%
帮助的人:34.5万
展开全部
#include<stdio.h>
#define N 1000
main()
{
int i,begin,end;
char str[N];
scanf("%s",str); /*输入字符串*/
scanf("%d %d",&begin,&end); /*输入要读取的起始位置*/
for(i=begin-1;i<end;i++)
printf("%c",str[i]);
printf("\n");
}
例如 输入:234ed5ab
输入:4 4
输出:e
输入:234ed5ab
输入:3 5
输出:4ed
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式