如果输入中提供了“ /”,我想从用户输入中获取字符串的一部分。
我使用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);
,它返回/之前的第一部分。
答案 0 :(得分:0)
阅读strchr()
,例如在这里
https://en.cppreference.com/w/c/string/byte/strchr
如果需要最后一个/
,请反选。
https://en.cppreference.com/w/c/string/byte/strrchr
如果返回值不为NULL,则它指向您要搜索的/
。
如果在输入字符串的非const副本上使用该字符串(例如,通过https://en.cppreference.com/w/c/string/byte/strncpy填充的char数组),则可以用\0
替换它以终止该字符串。结果是一个字符串,该字符串在第一个(或最后一个)/
之前结束。