我有两个与名义练习有关的问题,来自C编程语言。我确信他们之前都已经得到了回复,所以我们将非常感谢您直接回答或链接到之前的帖子(我无法找到)。
练习本身就是编写一个从C代码中删除注释的C程序。
我已经看过很多这个程序的例子,但我无法弄清楚如何测试它。他们都使用getchar()来获得"获得"他们要编辑的代码,但我无法弄清楚如何告诉程序读取另一个文件,而不是等待命令行的输入。我尝试了#34; ./ a.out program_to_edit .c",但这并没有奏效。或者,如果有一种简单的方法可以像其他语言一样用文本块(而不是一次一个字符)创建一个字符串,那也可以。
这个问题有点笼统。在使用getchar()读取C源代码时,我对转义字符的工作原理感到困惑。如果我在TextEdit中查看.c文件,我会看到" \ t",但是如果我编译并将其打印出来,那么它将作为制表符出现。这是否意味着.c文件包含' \\'并且' t'并且编译器将它们组合在一起,还是完全不同于其他东西?如果我用它来读取该文件,getchar()会返回什么内容?
感谢。
答案 0 :(得分:3)
对于问题的第一部分,您阅读的文件类似于此。 你应该在" The Book中找到这方面的例子。"
#include <stdio.h>
int main(void)
{
FILE *fp = fopen("Some_file.txt","rt");
if (fp != NULL)
{
int c = fgetc(fp);
while (c != EOF)
{
/* Do something with c */
}
fclose(fp);
}
else
{
printf("Can't open the file?\n");
}
return 0;
}
对于问题的第二部分,反斜杠表示反斜杠和下一个字符被某些内容替换。
做一些重读。 它出现在&#34; The Book。&#34;
欢迎使用Stack Overflow。
答案 1 :(得分:0)
./a.out < program_to_edit
。