• C

use of the function " system(" ") "

The first part of a C-program consists of copying the file "code.exe" to the existing folder "File menu".
I have tried :

system("XCOPY C:\code.exe C:\Fileme~1");

This does not work.Can anyone help me?
Who is Participating?
Sys_ProgConnect With a Mentor Commented:
Just to add to what Stefan said

A backslash character i.e. '\' is treated as an escape character in C/ C++
An escape character turns off the normal meaning of the immediately following character.

Thus, \n is treated/interpreted as a newline by C/C++ compilers

When u use
system("XCOPY C:\code.exe C:\Fileme~1");

the compiler assumes \c and \F to be an escape sequence AND not as a directory separator

Thus, as Stefann suggested, u would have to use a double '\' to turn off the normal meaning of '\' i.e. act as an escape character


stefan73Connect With a Mentor Commented:
Hi Naderassen,
You should escape backslashes:

system("XCOPY C:\\code.exe C:\\Fileme~1");

Most more modern windows system calls nowadays also support slashes instead of backslashes in file names. Sensible thing.

Those old commands from DOS times, however, use the slashes for options, so they can't handle them in file names. Stupid thing.

Improved Protection from Phishing Attacks

WatchGuard DNSWatch reduces malware infections by detecting and blocking malicious DNS requests, improving your ability to protect employees from phishing attacks. Learn more about our newest service included in Total Security Suite today!

I wonder what the overall impact on the global economy has been made by the decision to make the default switch character '/' in DOS. Was that something DOS inherited from CPM?
Looks like CP/M is even more primitive:


Directories were introduced in MS-DOS 2.0, so I guess that's when the bright idea about using the '\' came about. I now see from http://www.seasip.demon.co.uk/Cpm/optchar.html that the '/' "switch" character wasn't specifically the option lead-in character in CP/M, but it does date back to those days. If only those guys could have realised the impact of their arbitrary choices.
Adding to Stefan's comment,

to see the result,u'll have to execute the executable if ur working in DOS.
Just Running the cpp file wont do.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.