0

文字列内に動的な値を作成しようとしています。以下のコード行:char new_dir[] = "c:\\xyz";

乱数を作成し、パラメーターを使用して を置き換えたいと思いxyzます。これにより、ランダムなフォルダーを作成できます。

どんな助けでも大歓迎です!

char filename[1024], command[1024];
char new_dir[] = "C:\\xyz";

if (mkdir(new_dir))
    lr_output_message ("Create directory %s failed", new_dir);
else
    lr_output_message ("Created new directory %s", new_dir);

sprintf(filename, "%s\\%s", new_dir, "newfile.txt");
sprintf(command, "dir /b c:\\ > %s /w", filename);
system(command);
lr_output_message ("Created new file %s", filename);
4

1 に答える 1

0

srand()乱数ジェネレーターに時刻をシードします。それ以外の場合、シーケンスは常に同じです。Visual C では、生成される乱数は 0 から 32767 の範囲です。これで十分な長さのディレクトリ名が作成されない場合は、私の例のように 2 回実行してください。ファイル名をゼロで埋めました。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    char new_dir[64];
    srand ((unsigned int)time(NULL));

    sprintf (new_dir, "C:\\%05d", rand());
    printf("Short dir name is %s\n", new_dir);

    sprintf (new_dir, "C:\\%05d%05d", rand(), rand());
    printf("Longer dir name is %s\n", new_dir);

    return 0;
} 
于 2014-11-07T22:22:19.187 に答える