“nodel_1_md_19981120_100336.log" “nodel_2_md_19981120_100336.log" “nodel_3_md_19981120_100336.log" 用C++写一段效率高,运行时间短的代码,从如上字符串中删除带“nodel_1"的字符
时间: 2023-03-29 17:00:58 浏览: 95
以下是我为您提供的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "nodel_1_md_19981120_100336.log";
char str2[] = "nodel_2_md_19981120_100336.log";
char str3[] = "nodel_3_md_19981120_100336.log";
char *ptr1 = strstr(str1, "nodel_1");
if (ptr1 != NULL) {
memmove(ptr1, ptr1 + strlen("nodel_1"), strlen(ptr1 + strlen("nodel_1")) + 1);
}
printf("%s\n%s\n%s\n", str1, str2, str3);
return ;
}
```
这段代码可以从字符串中删除带“nodel_1”的字符,并输出结果。
相关问题
有如下字符串“nodel_1_md_19981120_100336.log", 写一段简洁的C++代码,从字符串中提取出nodel_后面的字符"1"
以下是C代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "nodel_1_md_19981120_100336.log";
char *p = strstr(str, "nodel_") + strlen("nodel_");
printf("%c\n", *p);
return ;
}
```
输出结果为:
```
1
```
有如下字符串“nodel_1_md_19981120_100336.log", 写一段C++代码,从字符串中提取出nodel后面和md前面的字符"1"
以下是C语言代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "nodel_1_md_19981120_100336.log";
char *p1 = strstr(str, "nodel_") + strlen("nodel_");
char *p2 = strstr(str, "_md_");
int len = p2 - p1;
char result[len + 1];
strncpy(result, p1, len);
result[len] = '\';
printf("%s", result);
return ;
}
```
输出结果为:1
阅读全文