【发布时间】:2021-07-19 07:02:38
【问题描述】:
我正在尝试用 C 语言完成一些简单的任务,并在 Linux 的命令行中运行它们。 我在使用 C 和从命令行运行代码时遇到了一些问题,给定的文件名作为参数给出。我以前从来没有用 C 写过代码。
从文件中删除偶数。文件名被转移到 程序作为命令行中的参数。节目变化 这个文件。
我该怎么做?
- 从文件中读取并将结果写入同一文件
- 从文件中读取数字而不是数字(例如:我需要能够读取“22”作为单个输入,而不是包含“2”的两个单独的字符)
- 在 Linux 中通过参数给出文件名。 (例如:./main.c 文件.txt)
我尝试编写 c 代码:
#include <stdio.h>
int main ()
{
FILE *f = fopen ("arr.txt", "r");
char c = getc (f);
int count = 0;
int arr[20];
while (c != EOF)
{
if(c % 2 != 0){
arr[count] = c;
count = count + 1;
}
c = getc (f);
}
for (int i=0; i<count; i++){
putchar(arr[i]);
}
fclose (f);
getchar ();
return 0;
}
【问题讨论】:
-
缺少样本输入输出(去掉偶数是不充分的描述); 通过参数给出文件名与您编写的完全一样,除了您的可执行程序通常没有扩展名 .c.
-
欢迎来到 StackOverflow!该网站的工作方式是您提供一段代码或一个非常具体的问题,我们会尽力帮助您找到解决方案。我们无法为您编写代码,也无法从头开始教您 C。如果您编辑您的问题以包含一个实际的问题,最好伴随您尝试解决您遇到的问题,我们或许能够提供更好的帮助。
-
“从文件中读取数字而不是数字”是指在单个字符(例如“3”)上读取表示数字的字符串(例如“3.14”)吗?
-
@Armali 我从中读取的文件中的数字可以用逗号、空格或不同的行分隔。由我来决定他们的分离方法并专门为那个方法编写代码。
-
@Somn 用数字而不是数字我的意思是例如“123”而不是“1”、“2”和“3”。