-2

如果输入中提供了“/”,我想从用户的输入中获取字符串的一部分。

我使用 strchr() 函数来检查“/”。我的实际问题是能够在 / 之前获取第一个字符串,例如 dir/filename.txt,我想从提供的字符串(字符数组)中获取 dir。

创建文件夹不是问题,因为 mkdir() 将帮助我实现它。问题是关于获取字符串的一部分,原因是我提到了使用该字符串创建文件夹的全局问题。

char filename = "dir/file.txt";
if(strchr(filename, '/') !=NULL)
{
   //slash found
}

我想在 dir/filename.txt 中删除“/”之前的第一部分,我想获取 dir。我检查了执行此操作的任何功能,但找不到。

问题解决了。当使用发现斜杠时,我能够检查用户的输入并创建一个目录

basename(user's input);

它返回 / 之前的第一部分。

4

1 回答 1

0

继续阅读strchr(),例如这里
https://en.cppreference.com/w/c/string/byte/strchr

如果你想要最后一个,请检查反面/
https://en.cppreference.com/w/c/string/byte/strrchr

如果返回值不为 NULL,则它指向您正在搜索的内容,即/.

如果您在输入字符串的非常量副本上使用它(例如,通过https://en.cppreference.com/w/c/string/byte/strncpy填充的字符数组),那么您可以将其替换\0为终止那个时候的字符串。结果是一个在第一个(或最后一个)之前结束的字符串/

于 2019-05-18T07:53:16.570 回答