system() function using

This is a discussion on system() function using within the C++ Programming forums, part of the General Programming Boards category; hello .. i m new at c++ programming. i have a problem about system() using. you know system( ) function ...

  1. #1
    Registered User
    Join Date
    Jul 2007
    Posts
    2

    Question system() function using

    hello ..
    i m new at c++ programming. i have a problem about system() using.
    you know system( ) function lets us to use dos commands.
    and i have to use it like

    system("dir")

    my problem starts here. i want to use commands with variable.

    for ex :
    Code:
    char folder[10] ;
    .
    cout<<"which folder"<<endl; // for ex i typed " photos " ;
    cin>>folder;
    .
    system("dir folder[10]") // here is my problem.
    i can not use system function with variable. i want to use that function to effect the folder i choose. but system function does what is written between quotation marks. So it's looking for the folder named "folder[10]" . i want it to effect the photos folder.
    so here are my questions ;

    how can i use system function with variable ?
    or is there anyway to use dos commands for the variables (folders) i choose ?
    or is there any other way to do this ?

    i m newbie.. i will be glad if someone can help, any help would be appreciated.
    Thanx in advance.
    Last edited by Rommeo; 07-26-2007 at 10:51 AM.

  2. #2
    CSharpener vart's Avatar
    Join Date
    Oct 2006
    Location
    Rishon LeZion, Israel
    Posts
    5,636
    1. stop using C-strings, use std::string
    2. do not use >> to read input - it stops on spaces, so you cannot read folder name with spaces inside - use getline
    3. use stringstream to generate result
    Code:
    std::stringstream ss;
    ss<< "dir " << folder;
    system(ss.str().c_str());
    If I have eight hours for cutting wood, I spend six sharpening my axe.

  3. #3
    Registered User hk_mp5kpdw's Avatar
    Join Date
    Jan 2002
    Location
    Northern Virginia/Washington DC Metropolitan Area
    Posts
    3,674
    Well, you can use sprintf/snprintf/strings/stringstreams to accomplish this.

    Using strings:
    Code:
    string command = "dir ";
    string folder;
    
    cout << "which folder" << endl;
    cin >> folder;  // Type in "photos"
    
    command += folder;  // Now command contains "dir photos"
    
    system(command.c_str());
    I used to be an adventurer like you... then I took an arrow to the knee.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Replies: 4
    Last Post: 05-13-2011, 08:28 AM
  2. Compiling sample DarkGDK Program
    By Phyxashun in forum Game Programming
    Replies: 6
    Last Post: 01-27-2009, 02:07 AM
  3. Screwy Linker Error - VC2005
    By Tonto in forum C++ Programming
    Replies: 5
    Last Post: 06-19-2007, 02:39 PM
  4. measuring system resources used by a function
    By Aran in forum C Programming
    Replies: 1
    Last Post: 03-13-2006, 04:35 PM
  5. I need help with passing pointers in function calls
    By vien_mti in forum C Programming
    Replies: 3
    Last Post: 04-24-2002, 10:00 AM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21