2

myfolder1のような順序で名前を付けて、ディレクトリにフォルダーを作成したいmyfolder2mkdir()aを使用して関数で試してみましたfor loopが、「整数変数」を使用せず、「const char値」のみを使用します。今何をする?それを行う、またはそれを行うことができる他の機能はありますmkdir()か?

4

2 に答える 2

4

あなたが求めているような整数を取るライブラリ呼び出しは知りません。mkdir() に渡す前に、数値を文字列に埋め込む必要があります。この質問に「c++」のタグを付けたので、これを達成する C++ 指向の方法を以下に示しました。

#include <sstream>  // for std::ostringstream
#include <string>   // for std::string

const std::string baseFolderName = "myfolder";
for (int i = 1; i < 20; ++i)
{
    std::ostringstream folderName;
    folderName << baseFolderName << i;
    mode_t mode = 0; //TBD: whatever is appropriate
    mkdir(folderName.str().c_str(), mode);
}
于 2013-07-01T20:55:29.693 に答える
0

本当にこれが必要な場合は、使用できますitoa(...)

まあ言ってみれば

i = 20;
char buffer [33];
itoa (i,buffer,10);    //10 means decimal

buffer = "20\0"

この変換の後buffer、デフォルトの文字列に追加できます。

したがって、全体として、次を使用できます。

std::string str = "string";
char buffer[33] ;
itoa(20, buffer, 10);
str.append(buffer);
mkdir(str.c_str());
于 2013-07-01T20:50:30.677 に答える