C语言 截取字符串中的数据
时间: 2025-01-12 21:58:58 浏览: 48
在C语言中,截取字符串中的数据可以通过多种方法实现。以下是几种常见的方法:
1. **使用指针和循环**:
通过指针遍历字符串,找到需要截取的位置,然后逐个字符复制到新的字符串中。
```c
#include <stdio.h>
#include <string.h>
void substr(const char *src, int start, int len, char *dest) {
int i, j;
for (i = start, j = 0; i < start + len && src[i] != '\0'; i++, j++) {
dest[j] = src[i];
}
dest[j] = '\0';
}
int main() {
const char *str = "Hello, World!";
char result[20];
substr(str, 7, 5, result);
printf("截取的字符串是: %s\n", result); // 输出: World
return 0;
}
```
2. **使用标准库函数 `strncpy`**:
利用 `strncpy` 函数可以直接复制指定长度的字符串。
```c
#include <stdio.h>
#include <string.h>
int main() {
const char *str = "Hello, World!";
char result[20];
strncpy(result, str + 7, 5);
result[5] = '\0'; // 确保字符串以 null 结尾
printf("截取的字符串是: %s\n", result); // 输出: World
return 0;
}
```
3. **使用 `sscanf` 函数**:
通过格式化输入函数 `sscanf` 可以从字符串中提取特定格式的数据。
```c
#include <stdio.h>
int main() {
const char *str = "Name: John, Age: 30";
char name[20];
int age;
sscanf(str, "Name: %[^,], Age: %d", name, &age);
printf("Name: %s\n", name); // 输出: John
printf("Age: %d\n", age); // 输出: 30
return 0;
}
```
以上方法可以根据具体需求选择使用。指针和循环的方法提供了更大的灵活性,而标准库函数则更加简洁和高效。
阅读全文
相关推荐

















