"Command Line Tool" and Release

Discussion in 'Mac Programming' started by VitaliBR, Feb 24, 2012.

  1. VitaliBR, Feb 24, 2012
    Last edited: Feb 24, 2012

    VitaliBR macrumors newbie

    Feb 24, 2012
    I created a program using the "Command Line Tool" in Xcode4, with C++

    #include <iostream>
    #include <fstream>
    int main (int argc, const char * argv[])
        //Creates an instance of ofstream, and opens example.txt
        std::ofstream a_file ( "example.txt" );
        // Outputs to example.txt through a_file
        a_file<<"This text will now be inside of example.txt";
        // Close the file stream explicitly
        return 0;
    When I run it by xcode, it works perfectly and generates the txt file in:

    But if I try to run the program directly from the folder, the file is not generated txt


    I created the release version too, but does not run properly (does not generate the txt file)
    and in the Release folder is created one file <nameproject>.dSYM

    what is unix executable file?
  2. VitaliBR thread starter macrumors newbie

    Feb 24, 2012
    I try:
        char * dir1 = getcwd(NULL, 0);
        printf("%s \n",dir1);
        myfile1.open(dir1, std::ios::binary);
        char * dir2 = getcwd(NULL, 0);
        printf("%s \n",dir2);
        myfile2.open(dir2, std::ios::binary);
    in the executable Release show in terminal:

    How do I open the file that it is in the same folder as the executable?
  3. wrldwzrd89 macrumors G5


    Jun 6, 2003
    Solon, OH
    If you double-click the executable from the Finder, it should behave as you're expecting it to. If you're running it from the Terminal, it inherits the Terminal's current working directory, which defaults to your home folder.

Share This Page