C语言中怎样获得字符串中的单个字符

如字符串string str=asdfgh,怎样才能得到其中的任意一个字符呢?

根据字符串存储的变量的不同,方法不同,参考代码:

存储在char数组中(支持C/C++)

char str[]="hello" ;
int i;
for( i=0;str[i];i++ )
    printf("%c\n", str[i] ); //以数组方式引用一个字符:str[i] 
for( i=0;*(str+i);i++ )
    printf("%c\n", *(str+i) ); //以指针方式引用一个字符:*(str+i)

存储在string中(仅支持C++)

    string str="abcde";
    for(string::iterator iter = s.begin(); iter!=s.end(); iter++) //使用迭代器
    { 
        cout<<*iter<<endl; 
    } 
    cout<<endl;
    
    for( int i=0;i<s.length();i++ ) 
    { 
        cout<<s[i]<<endl; //使用数组方式调用,得到单个元素
    }

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-04-04
根据字符串存储的变量的不同,方法不同,参考代码:
存储在char数组中(支持C/C++)
char str[]="hello" ;
int i;
for( i=0;str[i];i++ )
printf("%c\n", str[i] ); //以数组方式引用一个字符:str[i]
for( i=0;*(str+i);i++ )
printf("%c\n", *(str+i) ); //以指针方式引用一个字符:*(str+i)存储在string中(仅支持C++)
string str="abcde";
for(string::iterator iter = s.begin(); iter!=s.end(); iter++) //使用迭代器
{
cout<<*iter<
评论
0
0
加载更多
第2个回答  2019-01-06
根据字符串存储的变量的不同,方法不同,参考代码:
存储在char数组中(支持C/C++)
char str[]="hello" ;
int i;
for( i=0;str[i];i++ )
printf("%c\n", str[i] ); //以数组方式引用一个字符:str[i]
for( i=0;*(str+i);i++ )
printf("%c\n", *(str+i) ); //以指针方式引用一个字符:*(str+i)存储在string中(仅支持C++)
string str="abcde";
for(string::iterator iter = s.begin(); iter!=s.end(); iter++) //使用迭代器
{
cout<<*iter<
评论
0
0
加载更多
第3个回答  2020-03-25
错误在于你判断了第一个非@字符时就已经输出没有字符@退出循环了所以不会检测@了。改成下面就行了:
#include
#include
int
main()
{
char
sh[100],n=0;
gets(sh);
for(int
i=0;sh[i];i
)
if(sh[i]=='@')
n
;
if(n==0)
printf("没有字符
@\n");
else
printf("有字符
@\n");
}
第4个回答  2009-02-25
记得前面加上include<cstring>
str[i];(i就是你想要的字符所在位置)

#include <stdio.h>
#include <cstring>

int main(void)
{
char string[9]="abcdefg";
printf("%c\n",string[2]); // string[i]输入第i+1个字符
return 0;
}

C语言中怎样获得字符串中的单个字符
char str[]="hello" ;int i;for( i=0;str[i];i++ ) printf("%c\\n", str[i] ); \/\/以数组方式引用一个字符:str[i] for( i=0;*(str+i);i++ ) printf("%c\\n", *(str+i) ); \/\/以指针方式引用一个字符:*(str+i)存储在string中(仅支持C++)string str="abcde...

C语言如何取一串字符串中的某个字符
C中的字符串就是一个字符数组。如:char s[10]="wo shi SB";char c;取最左边的字符,就是c=s[0];

c语言截取字符串其中一部分。
1. 目标字符串:这是你想要存放截取部分的字符串的变量。2. 源字符串:这是原始字符串,即你要从中截取的字符串。3. 截取长度:这是你想要从源字符串中截取的字符合数。例如,假设有以下代码片段:c char original_string[] = "Hello, World!";char part_string[10]; \/\/ 用于存放截取部分的数...

c语言中怎么输出字符串中的某个字符
char s[]="abcde";printf("%c",s[3]);\/\/输出第四个字符度'd',%c表示输出单个字符 还可以采用指针方式输出相应位的字问符,如:char p=s ;\/\/字符字符指针p,指向字符串首地址 printf("%c",(p+3));\/\/输出第四个字符'd'或 p+=3;\/\/先移动指针到第四个字符位置 printf("%c",p ...

c语言中怎么从字符串中取字符
char s[]="ssssabedbewb";int len;char *p;s[2]; \/\/第一种方法 printf("输入输入字符串的长度:");scanf("%d",&len);printf("输入字符串:");p=malloc(len);scanf("%s",p);printf("%c",p[3]); \/\/第二种方法 显然第二种方法更灵活,不过就是有点烦 ...

c语言截取字符串中的一部分
C语言中,截取字符串的一部分是一个常见的操作。比如,当我们输入一个字符串和一个数字,程序可以通过特定的方法提取出指定位置或长度的部分。字符串,作为由数字、字母和下划线组成的字符序列,如 "a1a2...an",在编程中常用于表示文本数据。处理字符串时,关注的焦点在于对字符串进行操作,如查找子串...

c语言如何截取字符串的一部分
用strncpy函数,函数签名 char * strncpy(char *dest, const char *src, size_t n);比如要是从src第2个字符开始截取3个字符,可以用 strncpy(dest, src + 2 - 1, 3);

C语言如何实现取字符串的一部分?
例子如下:直接编译,程序输出结果中任意输入字符串和数字,程序执行结果如下图所示:

C语言中怎么查找字符串数组中的某个字符?
程序有误,修改如下:include <stdio.h> include <string.h> void main(){ char sh[20];gets(sh);for(int i=0;i<20;i++){ if(sh[i]='@'){ printf("判断出有字符@\\n");break;} if(sh[i]='\\0')printf("无字符@\\n");} } ...

c语言,提取字符串中的字符
用标准c库中的字符串操作函数就可以了 需要#include "string.h"常用的函数有strcpy,strlen,strcmp,strchr,strstr等等

相似回答