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

区分可选参数、路径名或文件?c 语言

甄霖
2023-03-14

我对c语言非常陌生,对任何其他语言都没有太多经验:/在大学的一项任务中,我有点被这一小部分卡住了。本质上,我需要编写一个具有4个可选参数的“ls”函数,例如:

list [-l] [-f] [pathname] [localfile] 

现在,前两个是直接的。让事情变得更困难的是,“本地文件”不一定存在,“路径名”(如果给定)将位于我通过套接字连接的服务器上(因此检查它是否是文件是错误的,检查路径名也是错误的)。我在想,检查字符串的最后4个字符。' txt '或类似的东西。我实际上完全被难住了,如果我找不到解决方案,明天我会把这个问题提交给我的课程传送器。

这只是我实际必须做的很小一部分,但任何朝着正确方向的推动都将受到赞赏。

共有1个答案

穆才良
2023-03-14

您需要处理argc和argv以获得命令行参数。这是第一件要做的事情,获取论点-确保它们是正确的,并确定要求的内容。

int main(int argc, char  *argv[])

假设您在Linux/Unix上,您将需要使用目录函数opendir()/readdir()/closedir()-dirent . h。stat()函数将需要满足-l要求。access()将确定文件是否存在,然后stat()将告诉您该文件是常规文件还是目录。

我将创建一个结构来保存四个可选参数,并从一个名为“process_arguments”的函数返回它,该函数将argc和argv作为参数。

struct args {
  bool valid;
  bool l_option;
  bool f_option
  char directory[200]; 
  char filename[200];
}

对于套接字连接的要求,您必须编写一个将在服务器上持续运行的“服务器程序”和一个“客户端程序”,它将分叉以处理来自本地程序的请求。尝试并找到套接字程序的示例。

对于您是否有路径字符串或文件名的另一个检查是查找路径分隔符字符 - '/' 如果服务器是Unix/Linux。此方案在文件名中不应该有任何路径分隔符,因此存在一个就告诉您它是一个路径。

 类似资料:
  • 我对如何从根开始做(多个)可选路径参数有点困惑。我用的是React-Router3和Redux4.3。 据我所知,应该可以工作,但在加载应用程序时,我遇到了以下错误:

  • 本文向大家介绍C#中文件名或文件路径非法字符判断方法,包括了C#中文件名或文件路径非法字符判断方法的使用技巧和注意事项,需要的朋友参考一下 文件路径或者保存模板出现非法字符判断 1)不为空判断 2)然后对strTemplateName 进行非法字符判断 3)path 引用系统的io 动态库即可。

  • 问题内容: ZIP条目存储条目的完整路径名,因为(我确定是下一部分)ZIP存档未组织为目录。元数据包含有关应如何存储文件的信息(在目录内部)。 如果在Windows中创建一个ZIP文件,则在另一个OS(例如Mac OS X)中解压缩数据时,文件结构将保持与Windows中相同的状态。这是因为解压缩程序旨在处理此问题,还是因为ZIP中的文件分隔符是标准的? 我问这个问题是因为我试图使用压缩文件的名称

  • 问题内容: 我想用可选的path参数声明一个路径,因此当我添加它时,页面会做一些额外的事情(例如,填充一些数据): http:// localhost / app / path / to / page <=渲染页面 http:// localhost / app / path / to / page / pathParam <=根据pathParam使用某些数据渲染页面 在我的React Rout

  • 问题内容: 我的Android应用程序中有以下字符串: 我需要操纵字符串并为该输出分割字符串: 我需要始终取字符串的最后一个元素。 如何在Java中输出此内容? 我非常感谢您在解决此问题方面可以给我的任何帮助。 问题答案: 另一种可能性: