在vc环境下,编一函数,将一个字符数组中的数字字符存于另一个字符数组中
时间: 2023-06-09 12:03:10 浏览: 47
好的,我明白了。以下是代码示例:
```c
void extract_digits(char* str, char* digits) {
int j = 0;
for (int i = 0; str[i] != '\0'; i++) {
if (isdigit(str[i])) {
digits[j] = str[i];
j++;
}
}
digits[j] = '\0';
}
```
传入一个字符数组 `str`,这个函数会将其中的数字字符存入另一个字符数组 `digits` 中,并在最后一个字符后加上一个字符串结束符号 `\0`。在函数中使用了标准库函数 `isdigit()` 来判断字符是否是数字字符。
相关问题
vc++语言编一函数,将一个字符数组中的数字字符存于另一个字符数组中
好的,我明白了。以下是将一个字符数组中的数字字符存储到另一个字符数组的VC语言函数:
```c
void GetNumbers(char* source, char* destination)
{
int i, j;
j = 0;
for (i = 0; source[i] != '\0'; i++)
{
if (isdigit(source[i]))
{
destination[j] = source[i];
j++;
}
}
destination[j] = '\0';
}
```
以上函数将从源字符数组中遍历每个字符,如果该字符是数字,则将其存入目标字符数组中,并保持原始顺序。最终在目标字符数组结尾添加了一个 '\0' 以表示字符串的结束。
vc6.04、有一个字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串,用指针处理。
下面是一个实现该功能的函数:
```c++
void copyString(char* dest, char* src, int m, int n) {
for (int i = 0; i < n; i++) {
*(dest + i) = *(src + m - 1 + i); // 从第m个字符开始复制
}
*(dest + n) = '\0'; // 在目标字符串末尾添加'\0'
}
```
其中,`dest`表示目标字符串的地址,`src`表示源字符串的地址,`m`表示复制的起始位置,`n`表示复制的字符数。此函数采用了指针处理,通过指针运算来实现字符的复制。具体来说,`*(dest + i) = *(src + m - 1 + i)`表示将源字符串中从第m个字符开始的第i个字符复制到目标字符串中的第i个位置。
使用该函数的示例代码如下:
```c++
int main() {
char str1[] = "Hello, world!";
char str2[20];
copyString(str2, str1, 7, 5);
printf("%s", str2); // 输出“world”
return 0;
}
```