[英]Ofstream, use variable to the name
大家好...
對不起,我的英語,但是卻說西班牙語。
在這個星期,研究和工作這個proyect,我想創建一個軟件來制作files(.us)...
例
char name[50]; //Or string
cin>>name;
ofstream PlayerPawn("D:\\UDK\\UDK_XXX\\Development\\Src\\" + name+"\\Classes\\_PlayerPawn.us");
但是編譯器在運算符二進制加號中有錯誤
在特定目錄中創建文件的任何替代方法,示例或其他方法
再見,Thx!
我相信您希望name
成為std::string
否則, name + [suffix]
將嘗試將后綴字符串添加到數組中,並且將無法編譯。 如果您確實想將名稱保留為數組,則應使用strcat將字符串附加在一起。
operator+
任一側都必須是std::string
1 , operator+
才能串聯字符串:
string name;
cin >> name;
ofstream PlayerPawn("D:\\UDK\\UDK_XXX\\Development\\Src\\" + name + "\\Classes\\_PlayerPawn.us");
並為此使用std::string
; 使用std::string
,不會有使用char*
獲得緩沖區溢出的危險。
1實際上,它只需要是一個支持operator+
的類類型,而不是特別是std::string
,但是您不知道它將做什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.