diff --git a/cpp/filename_test/filename_test.cbp b/cpp/filename_test/filename_test.cbp
new file mode 100644
index 0000000..e94cf28
--- /dev/null
+++ b/cpp/filename_test/filename_test.cbp
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cpp/filename_test/filename_test.depend b/cpp/filename_test/filename_test.depend
new file mode 100644
index 0000000..ce2d301
--- /dev/null
+++ b/cpp/filename_test/filename_test.depend
@@ -0,0 +1,5 @@
+# depslib dependency file v1.0
+1609576207 source:/root/filename_test/main.cpp
+
+
+
diff --git a/cpp/filename_test/main.cpp b/cpp/filename_test/main.cpp
new file mode 100644
index 0000000..1759975
--- /dev/null
+++ b/cpp/filename_test/main.cpp
@@ -0,0 +1,42 @@
+#include
+#include
+#include
+
+typedef void(*pfun)();
+
+void dale(){
+ printf("custom filename test by daleclack\n");
+}
+
+void write1(){
+ getchar();
+ char str[57];
+ fgets(str,sizeof(str),stdin);
+ freopen("test","w",stdout);
+ printf("%s",str);
+ fclose(stdout);
+}
+
+void test(){
+ char filename[57];
+ FILE *fp;
+ fp=fopen("test","r");
+ if(fp==NULL){printf("File not exist!");return ;}
+ fgets(filename,57,fp);
+ fclose(fp);
+ int length=strlen(filename);
+ filename[length-1]='\0';
+ fp=fopen(filename,"w");
+ fclose(fp);
+}
+
+pfun a[]={dale,write1,test};
+
+int main(int argc,char *argv[])
+{
+ int x;
+ printf("1.write content 2.test the custom filename\n");
+ scanf("%d",&x);
+ a[x]();
+ return 0;
+}
diff --git a/cpp/filename_test/test b/cpp/filename_test/test
new file mode 100644
index 0000000..cf70e1d
--- /dev/null
+++ b/cpp/filename_test/test
@@ -0,0 +1 @@
+5465263