gpt4 book ai didi

c - 如何在C中复制空字符串中的字符?

转载 作者:行者123 更新时间:2023-11-30 20:17:01 25 4
gpt4 key购买 nike

我有一些看起来像 <12> 的字符串,其中数字范围从 1 到 100。现在我想从字符串中提取数字,即去掉括号。

这是我写的:

char str[5] = "<12>";
char final[5] = "";
for(int i=0;i<strlen(str);i++){
if(isdigit(str[i])){
final[i] = str[i];
}
}

但是,我无法将所需的数字复制到这个空字符串中,并且没有打印任何内容。有什么问题吗?

最佳答案

问题出在计数器上,您需要在数组末尾添加一个额外的计数器,并且还需要添加“\0”字符。这只是一个例子

#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main(){
char str[5] = "<12>";
char final[5] = "";
int x=0;
for(int i=0;i<strlen(str);i++){
if(isdigit(str[i])){
final[x] = str[i]; //here i have changed final counter
x++;
}
}
final[x]='\0';

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

return 0;
}

关于c - 如何在C中复制空字符串中的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58938632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com