c截取某位置之前的字符串
时间: 2024-05-16 14:14:22 浏览: 87
C语言实现字符串截取
4星 · 用户满意度95%
在 C 语言中,可以使用字符串库函数中的 `strncpy` 函数来实现截取某位置之前的字符串。具体实现如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world!";
int n = 5; // 截取位置,即保留前 n 个字符
char new_str[n+1]; // 加上 '\0' 结尾符,所以数组长度为 n+1
strncpy(new_str, str, n);
new_str[n] = '\0'; // 添加 '\0' 结尾符
printf("原始字符串:%s\n", str);
printf("截取后的字符串:%s\n", new_str);
return 0;
}
```
以上代码输出结果为:
```
原始字符串:Hello, world!
截取后的字符串:Hello
```
在以上代码中,首先定义了一个字符串 `str`,然后定义了一个整型变量 `n`,表示要截取的位置。接着定义了一个字符数组 `new_str`,长度为 `n+1`,因为要添加一个 `\0` 结尾符。然后使用 `strncpy` 函数将 `str` 中前 `n` 个字符复制到 `new_str` 中,最后在 `new_str` 的第 `n` 个位置添加 `\0` 结尾符。最后输出原始字符串和截取后的字符串。
阅读全文