Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,870 questions

51,793 answers

573 users

How to create a list of random file names, including extension, dates, and file size in C++

1 Answer

0 votes
#include <iostream>
#include <vector>
#include <string>
#include <ctime>
#include <iomanip> // setw

// Function to generate a random string of given length
std::string generateRandomString(size_t length) {
    const char charset[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    std::string result;
    result.resize(length);

    for (size_t i = 0; i < length; ++i) {
        result[i] = charset[rand() % (sizeof(charset) - 1)];
    }

    return result;
}

// Function to generate a random date
std::string generateRandomDate() {
    int year = rand() % 21 + 2000; // Random year between 2000 and 2020
    int month = rand() % 12 + 1;   // Random month between 1 and 12
    int day = rand() % 28 + 1;     // Random day between 1 and 28

    std::ostringstream oss;
    oss << std::setw(4) << std::setfill('0') << year << "-"
        << std::setw(2) << std::setfill('0') << month << "-"
        << std::setw(2) << std::setfill('0') << day;

    return oss.str();
}

// Function to generate a random file size
size_t generateRandomFileSize() {
    return rand() % 100000 + 1; // Random file size between 1 and 100000 bytes
}

int main() {
    srand(static_cast<unsigned int>(time(0))); // Seed the random number generator

    std::vector<std::string> extensions = {".txt", ".jpg", ".png", ".cpp", ".pdf"};
    size_t numberOfFiles = 10; // Number of random files to generate
    size_t fileLength = 9;

    for (size_t i = 0; i < numberOfFiles; ++i) {
        std::string fileName = generateRandomString(fileLength); // Generate random file name 
        std::string extension = extensions[rand() % extensions.size()]; // Randomly select an extension
        std::string date = generateRandomDate(); // Generate random date
        size_t fileSize = generateRandomFileSize(); // Generate random file size

        std::cout << fileName << extension << " "
                  << date << " "
                  << fileSize << " bytes" << std::endl;
    }
}


   
/*
run:
   
G1zTo5jJk.jpg 2007-07-08 51954 bytes
LTEE4SI0j.jpg 2011-11-13 43442 bytes
PDqmuO3GH.cpp 2004-05-21 3346 bytes
qJO2qjukZ.png 2010-08-27 67087 bytes
HqclTqxb4.cpp 2020-09-05 70531 bytes
imVyTyoaF.jpg 2011-03-19 43846 bytes
rXwXdy8XO.txt 2017-10-12 70193 bytes
9Z4fbOBUc.pdf 2004-06-09 1754 bytes
ZHahuu4vS.txt 2003-10-10 65126 bytes
0SnZHh2GT.png 2006-10-18 25890 bytess
   
*/

 



answered Apr 18, 2025 by avibootz
...