簡體   English   中英

Ofstream,使用變量命名

[英]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 1operator+才能串聯字符串:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM