使用sscanf在1.txt.aes中取出1.txt该如何操作
时间: 2025-01-29 13:11:47 浏览: 33
要从文件名`1.txt.aes`中取出`1.txt`,可以使用C语言中的`sscanf`函数。以下是一个示例代码,展示了如何实现这一操作:
```c
#include <stdio.h>
#include <string.h>
int main() {
const char *filename = "1.txt.aes";
char basefilename[256];
char extension[256];
// 使用sscanf解析文件名
if (sscanf(filename, "%[^.].%s", basefilename, extension) == 2) {
printf("Base filename: %s\n", basefilename);
printf("Extension: %s\n", extension);
} else {
printf("Failed to parse filename\n");
}
return 0;
}
```
在这个示例中,`sscanf`函数用于解析文件名`1.txt.aes`。`%[^.]`表示匹配除`.`之外的所有字符,`%s`表示匹配后续的所有字符。`[^.]`是一个字符集,表示匹配任何不是`.`的字符。
运行上述代码,输出将会是:
```
Base filename: 1.txt
Extension: aes
```
如果只需要取出`1.txt`,可以使用以下代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
const char *filename = "1.txt.aes";
char basefilename[256];
// 使用sscanf解析文件名
if (sscanf(filename, "%[^.].%s", basefilename, filename) == 2) {
printf("Base filename: %s\n", basefilename);
} else {
printf("Failed to parse filename\n");
}
return 0;
}
```
这样,输出将会是:
```
Base filename: 1.txt
```
阅读全文
相关推荐



















