Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何仅使用命令行参数在唯一行中读取?

如何仅使用命令行参数在唯一行中读取?
EN

Stack Overflow用户
提问于 2018-04-26 13:15:30
回答 1查看 39关注 0票数 0

目前,我的C程序inter.c从使用命令行参数调用的文本文件中成功地创建了char数组a。

但是,我想要修改它,这样它将只在不连续重复前一行的行中读取,而不是在每一行中读取。如果一行是重复的,但不遵循其相同的行,则不应删除它。

例如,假设testfile.txt的内容是:

嗨,你好 嗨,你好 嗨,你好 你好。

如果调用为‘ALTERtestfile.txt’,则创建的char数组应该是:

你好啊。 你好。

下面是我目前的代码:

代码语言:javascript
运行
AI代码解释
复制
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>

#define MAX_NAME_SZ 100
#define caseChange 32
#define MAXCHARS 79
int main (int argc, char *argv[])
 {
  char ch, *a;
  static char changed = 'f';

  /* if there is more than one argument */
  if (argc > 1)
    {
      int i = 1, j = 0;
      FILE *fp;
      while (i < argc)
    {
      a = malloc (MAX_NAME_SZ * sizeof (char));
      j = 0;
      fp = fopen (argv[i], "r");
      if (fp == NULL)
        {
          /*Error statement in case an error is encountered /*
             fprintf (stderr, "Error encountered for File %s : %s\n",
             argv[i], strerror (errno));
             return 3;            /* I chose to return 3 if an error was encountered */
        }
      else
        {
          while (((ch = fgetc (fp)) != EOF) && (j < 99))
        {
          a[j++] = ch;
        }
          a[j] = '\0';

          fclose (fp);
          changeCase (a, changed);
          noNums (a, changed);
          identLines (a, changed);
          spaces (a, changed);
          printf ("\n");
        }
      i++;

    }
      if (changed == 'f')
    return 1;
      else
    return 0;

    }
  else
    {
      a = malloc (MAX_NAME_SZ * sizeof (char));
      fgets (a, MAX_NAME_SZ, stdin);
      changeCase (a, changed);
      noNums (a, changed);
      identLines (a, changed);
      spaces (a, changed);
      printf ("\n");
    }
}

我想我在做我的工作时还需要一段时间的陈述

代码语言:javascript
运行
AI代码解释
复制
while (((ch = fgetc (fp)) != EOF) && (j < 99))

但我不确定。任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2018-04-26 15:11:59

我没看过你所有的代码。(嗯,在这个网站上,“这是一大串我的100行代码,请帮我找错误”而不是好问题。)

但我想指出的是这个代码:

代码语言:javascript
运行
AI代码解释
复制
char ch;
((ch = fgetc (fp)) != EOF)

...is典型的初学者错误。"fgetc“返回"int”。在与EOF进行比较之前,您不能将此"int“转换为"char”。将"fgetc“结果放入"int”变量,然后将其与EOF进行比较,然后将此"int“转换为"char”。然后用它做任何其他的处理。

也许会有帮助。也许不是。您的代码可能包含其他问题。使您的代码更小,我们可能会阅读它。

此外,这也是:

代码语言:javascript
运行
AI代码解释
复制
while (((ch = fgetc (fp)) != EOF) && (j < 99))

...is不好的风格。我指的是把很多东西放进“时间”状态的练习。这使得它很难读懂。while ((ch = fgetc (fp)) != EOF)是可以的,假设chint。而且,您的代码已经失效了。如果你想让我们评论你的代码,你应该让它尽可能容易阅读。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50051936

复制
相关文章
Python:读取命令行参数
输入 python test_param1.py 1 2 3 'a' "asdf" asdf
py3study
2020/01/08
1.9K0
Python:读取命令行参数
Go实战 | 让flag支持从文件中读取命令行参数
golang标准库提供了flag包来处理命令行参数。常规的使用都是在命令行中启动服务的时候一一的输入,让程序解析。今天给大家介绍一种可以从文件中读取命令行参数的实现方法。
Go学堂
2023/01/31
1.3K0
Python解析命令行读取参数 — argparse模块
在多个文件或者不同语言协同的项目中,python脚本经常需要从命令行直接读取参数。万能的python就自带了argprase包使得这一工作变得简单而规范。PS:optparse包是类似的功能,只不过写起来更麻烦一些。
全栈程序员站长
2022/07/19
7860
在React中如何使用history.push传递参数
第一种和第三种,在目标路由刷新后,参数还可以取到,但是第二种页面刷新后,参数就取不到了,第二种适合开发winform类的应用。
挥刀北上
2021/12/19
21.5K0
在React中如何使用history.push传递参数
如何使用ParamSpider在Web文档中搜索敏感参数
ParamSpider是一款功能强大的Web参数挖掘工具,广大研究人员可以利用ParamSpider来从Web文档的最深处挖掘出目标参数。
FB客服
2020/09/14
3.8K0
如何使用ParamSpider在Web文档中搜索敏感参数
在eclipse中和命令行中执行接收args[]参数
首先是在cmd命令行中,比如test.java文件,javac test.java编译,
砖业洋__
2023/05/06
5470
在eclipse中和命令行中执行接收args[]参数
在java中print和println_JAVA命令行参数
Java中的PrintWriter类的println()方法用于中断流中的行。此方法不接受任何参数或返回任何值。
全栈程序员站长
2022/09/27
7050
如何从Node.js中的命令行读取输入
您是否正在使用Node.js中开发一个小的CLI工具,并希望能够提示用户从命令行输入输入? Node.js正是为此目的提供了readline模块。 它提供了一个接口,用于从可读流(例如process.stdin)中一次读取一行数据。
ccf19881030
2020/10/26
8.6K0
在Node.js中如何逐行读取文件
本文翻译自How to read a file line by line in Node.js
ccf19881030
2020/10/29
13.7K0
如何获取PHP命令行参数
使用 PHP 开发的同学多少都会接触过 CLI 命令行。经常会有一些定时任务或者一些脚本直接使用命令行处理会更加的方便,有些时候我们会需要像网页的 GET 、 POST 一样为这些命令行脚本提供参数。比如在针对某些日期做统计的脚本,就需要传递一个日期给它,这样我们就统计指定日期的一些数据。这类需求应该非常常见,那么,我们都是如何来接收这些命令行的参数的呢?今天,就来介绍一下这方面的内容。
硬核项目经理
2020/09/10
2.7K0
Python中的命令行参数
在使用python开发脚本的时候,作为一个运维工具,或者是其他工具需要在接受用户参数运行时,这里就可以用到命令行传参的方式,可以给使用者一个比较友好的交互体验。
Java学术趴
2022/07/25
1.6K0
使用 JCommander 解析命令行参数
如果你想构建一个支持命令行参数的程序,那么 jcommander 非常适合你,jcommander 是一个只有几十 kb 的 Java 命令行参数解析工具,可以通过注解的方式快速实现命令行参数解析。
未读代码
2023/09/01
4070
使用 JCommander 解析命令行参数
如何使用Python的命令行参数——创建自己的Python命令行参数脚本的简单指南
我们将使用Python 中的argparse模块来配置命令行参数和选项。argparse 模块可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数,然后argparse 将弄清如何从 sys.argv 解析出那些参数。argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。
人工智能小咖
2020/05/08
2.5K0
如何使用Python的命令行参数——创建自己的Python命令行参数脚本的简单指南
pytest文档76 - 命令行中神奇的-o参数使用
pytest 命令行中 -o 参数的作用是覆盖pytest.ini配置文件中的参数,那就意味着在ini中的参数,也可以在命令行中使用了。
上海-悠悠
2021/07/23
7820
Python - 3.8 新特性之仅位置参数 & 仅关键字参数
Python 函数:https://www.cnblogs.com/poloyy/p/15092393.html
小菠萝测试笔记
2021/08/10
9050
如何优雅地处理命令行参数?
我们在Linux用到的命令常常支持很多参数,那么如何写一个程序,也像Linux命令一样支持很多参数呢?有什么什么优雅的处理方法?
编程珠玑
2019/08/21
1.1K0
Python | 使用argparse解析命令行参数
今天是Python专题第27篇文章,我们来聊聊Python当中的命令行参数工具argparse。
TechFlow-承志
2020/08/17
2K0
如何使用python读取txt文件中的数据
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139037.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/02
6.9K0
Python | 使用argparse解析命令行参数
今天是Python专题第27篇文章,我们来聊聊Python当中的命令行参数工具argparse。
用户8639654
2021/07/21
6090
点击加载更多

相似问题

使用Perl程序和命令行参数读取指定行

40

在SML中读取命令行参数

11

在mysql中仅选择唯一行

33

如何使用[CallerLineNumber]强制参数仅被读取?

20

检查命令行参数中是否仅使用数字

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文