c语言实现将cpp文件拖入控制台获取文件路径,并将反斜杠“\”转义为双反斜杠“\”。
时间: 2023-09-17 12:08:42 浏览: 125
以下是 C 语言代码实现将 cpp 文件拖入控制台获取文件路径,并将反斜杠“\”转义为双反斜杠“\\”:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
system("echo Drag and drop your file here:");
int ch;
char file_path[1000];
int i = 0;
while ((ch = getchar()) != EOF && ch != '\n') {
if (i < 1000 - 1) {
if (ch == '\\') {
file_path[i++] = '\\';
file_path[i++] = '\\';
}
else {
file_path[i++] = (char)ch;
}
}
}
file_path[i] = '\0';
char *extension = strrchr(file_path, '.');
if (extension && strcmp(extension, ".cpp") == 0) {
printf("The file path is: %s\n", file_path);
}
else {
printf("Please drag a cpp file\n");
}
return 0;
}
```
该程序与之前的程序类似,只是在读取用户输入的过程中加入了对文件后缀名的判断,只有当用户拖拽的是 cpp 文件时,才会输出文件路径。
需要注意的是,这里使用了 `strrchr` 函数获取文件名中最后一个点号的位置,然后判断其后缀名是否为 ".cpp"。同时,该程序也只能处理一行文本,如果用户拖拽的 cpp 文件路径包含多行文本,则只会读取第一行文本。
阅读全文