当前位置: 首页 > 知识库问答 >
问题:

如何在C++上设置一个目录和运行一个文件?[副本]

严阳秋
2023-03-14

据我所知,在程序上使用system()就像在终端上打字一样,而且如果我把终端上的CD desktop它就像它应该的那样把目录设置到桌面上。

因此,我试图设置一个目录,如System(cd~/Desktop);System(cd Desktop);,然后键入./theFilename执行文件,但它无法工作。如果在此之后我放入system(ls);,它将显示该程序本身所在目录的文件。

警察:我在mac上

共有2个答案

孟晨朗
2023-03-14

您在system()中提供的命令由此时启动的新shell执行。
cd命令由此shell执行,但这不会改变启动该shell的进程的任何内容。

为了实际更改进程的当前目录,您需要chdir()系统调用。
(https://linux.die.net/man/2/chdir)

易研
2023-03-14

每次运行system时都会生成一个新的shell会话,因此cwd不会在函数之间进行维护。您可以提供完整路径,如~/desktop/文件名,也可以使用分号,如cd~/desktop;。/文件名

 类似资料:
  • 我正在用Java 11和Maven创建一个测试框架,并且我已经为单独的测试构建了两个不同的运行程序。我只想运行一个配置文件,但它一直运行两个配置文件。以下是我的个人资料:

  • 问题内容: 我正在编写一个makefile,它将一个文件编译到另一个目录中,然后我想在不更改目录的情况下运行它。我想按照以下方式做一些事情: Java文件所在的位置,并且makefile不在那里运行。 我怎样才能做到这一点? 问题答案: 我可能会误解这个问题,但是您可以使用 这将在 然后,您可以通过在类路径上包含它来运行它。例如 如果要在其他目录中生成类文件,则可以使用选项。

  • 问题内容: 请参阅以下Maven生成的项目 我想 在运行测试 时使用test / resources / datasource-settings.xml中的设置,而不要使用main / resources / datasource-settings.xml中的设置。可能吗 ?如果是这样,我应该怎么做才能达到目标? 问题答案: 放置在(默认位置)中的资源将自动添加到Maven为您的单元测试设置的类路

  • 我正在使用QT,我无法找到如何将文件从一个目录复制到另一个目录?我怎样才能做到这一点?

  • 问题内容: 说我在目录中还有一个文件。如何替换为使用?我在Windows XP上,跨平台的解决方案会很棒,但是Windows是首选。 问题答案: 您可以使用以下 功能: 在其手册页中引用了几个相关的句子: 将文件源的副本复制到dest。 如果目标文件已经存在,它将被覆盖。

  • 我有一个jar文件在某些特性只属于(用于ex lambda表达式),所以它是在中编译的。同一jar具有属于和的一些特性。现在,我希望当用户在中运行这个jar时,相关类应该可以工作,因为他/她只想要在上工作的功能。如果他/她想要与Java8相关的功能,他将使用运行它。

  • 我已经纠结于此一段时间了,我并不真正理解如何通过使用SSIS来解决这种情况(我正在考虑用C#创建一个脚本任务) 这就是我的问题:每天都会创建一个文件并将其存储在特定服务器的某个目录中(我可以使用Filezilla或任何其他程序中的客户端-服务器应用程序中的FTP协议访问它),我希望复制该文件,将其保存在使用SFTP协议的不同服务器的不同目录中,然后,一旦它100%地被放置在该目录中,移动原始文件并