Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用C更改Linux中的当前目录大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我有以下代码:#include <iostream> #include <String> #include <unistd.h> using namespace std; int main() { // Variables String sDirectory; // Ask the user

我有以下代码

#include < "please="" enter="" a="" directory..."="">< endl;="" cin="" >>="" sdirectory;="" cin.get();="" navigate="" to="" the="" directory="" specified="" by="" the="" user="" int="" chdir(sdirectory);="" return="" 0;="" }="">

代码的目的非常简单:将用户指定的目录设置为当前目录.我的计划是对其中包含文件进行操作.但是,当我尝试编译此代码时,我收到以下错误

error: cAnnot convert ‘std::string’ to ‘int’ in initialization

读取int chdir(sDirectory)的行.我刚刚开始编程,现在才开始寻找有关平台特定功能的问题,所以对此问题的任何帮助都会非常感激.

最佳答案
int chdir(sDirectory);调用chdir函数不是正确的语法.它是一个名为chdir的int的声明,它带有一个无效的字符串初始值设定项(`sDirectory).

调用函数,您只需执行以下操作:

chdir(sDirectory.c_str());

请注意,chdir采用const char *,而不是std :: String,因此必须使用.c_str().

如果要保留返回值,可以声明一个整数并使用chdir调用来初始化它,但是你必须给int一个名字:

int chdir_return_value = chdir(sDirectory.c_str());

最后,请注意,在大多数操作系统中,只能为进程本身及其创建的任何子进程设置当前或工作目录.它(几乎)永远不会影响生成更改其当前目录的进程的进程.

如果您希望在程序终止后找到要更改的sHell的工作目录,则可能会感到失望.

大佬总结

以上是大佬教程为你收集整理的使用C更改Linux中的当前目录全部内容,希望文章能够帮你解决使用C更改Linux中的当前目录所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。