Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将c程序的内容打印为其输出 我最近几天碰到这个问题。我想知道的是如何打印C程序的内容作为输出。考虑下面的小C代码片断: #include<stdio.h> #include<conio.h> void main() { int a; int b; int sum; } #包括 #包括 void main() { INTA; int b; 整数和; }_C - Fatal编程技术网

将c程序的内容打印为其输出 我最近几天碰到这个问题。我想知道的是如何打印C程序的内容作为输出。考虑下面的小C代码片断: #include<stdio.h> #include<conio.h> void main() { int a; int b; int sum; } #包括 #包括 void main() { INTA; int b; 整数和; }

将c程序的内容打印为其输出 我最近几天碰到这个问题。我想知道的是如何打印C程序的内容作为输出。考虑下面的小C代码片断: #include<stdio.h> #include<conio.h> void main() { int a; int b; int sum; } #包括 #包括 void main() { INTA; int b; 整数和; },c,C,如何修改上述代码,以便在执行时显示相同的代码内容: 输出应为: #include<stdio.h> #include<conio.h> void main() { int a; int b; int sum; } #包括 #包括 void main() { INTA; int b; 整数和; } 我希望我的问题不会令人怀疑。您编写的代码永远不会编译成一个生成与输出相同代码的程序:这应该很清楚,因为该代码根本不会打印任何内容!所以它肯定不会打印你想要的整个C文件 您正在

如何修改上述代码,以便在执行时显示相同的代码内容: 输出应为:

#include<stdio.h>
#include<conio.h>
void main()
{
int a;
int b;
int sum;
}
#包括
#包括
void main()
{
INTA;
int b;
整数和;
}

我希望我的问题不会令人怀疑。

您编写的代码永远不会编译成一个生成与输出相同代码的程序:这应该很清楚,因为该代码根本不会打印任何内容!所以它肯定不会打印你想要的整个C文件

您正在寻找以下内容:


您编写的代码永远不会编译成生成与其输出相同代码的程序:这一点应该很清楚,因为该代码根本不会打印任何内容!所以它肯定不会打印你想要的整个C文件

您正在寻找以下内容:

#包括
const char*s=“#include%cconst char*s=%c%s%c;%cint main(void){printf(s,10,34,s,34,10,10);}%c”;
int main(void){printf(s,10,34,s,34,10,10);}
#包括
const char*s=“#include%cconst char*s=%c%s%c;%cint main(void){printf(s,10,34,s,34,10,10);}%c”;
int main(void){printf(s,10,34,s,34,10,10);}

以下是我的做法:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    FILE *f = fopen(__FILE__, "r");
    if (!f)
        exit(-1);

    fseek(f, 0, SEEK_END);
    long n = ftell(f);
    fseek(f, 0, SEEK_SET);

    char *buf = malloc(n + 1);
    if (!buf)
        exit(-1);

    if (fread(buf, n, 1, f) < 1)
        exit(-1);

    buf[n] = 0;
    puts(buf);

    free(buf);
    fclose(f);
    return 0;
}
#包括
#包括
内部主(空)
{
FILE*f=fopen(_FILE__,“r”);
如果(!f)
出口(-1);
fseek(f,0,SEEK_END);
长n=ftell(f);
fseek(f,0,SEEK_集);
char*buf=malloc(n+1);
如果(!buf)
出口(-1);
if(fread(buf,n,1,f)<1)
出口(-1);
buf[n]=0;
put(buf);
免费(buf);
fclose(f);
返回0;
}

以下是我的做法:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    FILE *f = fopen(__FILE__, "r");
    if (!f)
        exit(-1);

    fseek(f, 0, SEEK_END);
    long n = ftell(f);
    fseek(f, 0, SEEK_SET);

    char *buf = malloc(n + 1);
    if (!buf)
        exit(-1);

    if (fread(buf, n, 1, f) < 1)
        exit(-1);

    buf[n] = 0;
    puts(buf);

    free(buf);
    fclose(f);
    return 0;
}
#包括
#包括
内部主(空)
{
FILE*f=fopen(_FILE__,“r”);
如果(!f)
出口(-1);
fseek(f,0,SEEK_END);
长n=ftell(f);
fseek(f,0,SEEK_集);
char*buf=malloc(n+1);
如果(!buf)
出口(-1);
if(fread(buf,n,1,f)<1)
出口(-1);
buf[n]=0;
put(buf);
免费(buf);
fclose(f);
返回0;
}


<代码>谷歌>代码>奎斯< /代码>。请阅读:@ ACME感谢评论将深入奎因,它对java和C++也是有效的吗?谷歌代码> QuiNe>代码>。请阅读:@ ACME谢谢评论将挖掘到奎因,它对java和C++也是有效的吗?我知道,我举了个例子:我知道,我只是举了一个例子:)谢谢你的回答,我会试试这个。@RishabhRaj确保将你的文件称为“foo.c”:p将带有
fopen
的行更改为这一行
file*f=fopen(u文件,r”)和名称文件,如您所愿=)@JIghtuse谢谢您的建议!谢谢你的回答,我会试试这个。@RishabhRaj请确保将你的文件命名为“foo.c”:p将带有
fopen
的行更改为这一行
file*f=fopen(u文件,r”)和名称文件,如您所愿=)@JIghtuse谢谢您的建议!谢谢你的回答,我作弊了;这是我从SO 10238670得到的答案的副本。我碰巧保存了一份副本,所以没花什么时间就找到了。@JonathanLeffler哦,这不是作弊。我作弊了P@JonathanLeffler非常感谢你们两位:)谢谢你们的回答,我作弊了;这是我从SO 10238670得到的答案的副本。我碰巧保存了一份副本,所以没花什么时间就找到了。@JonathanLeffler哦,这不是作弊。我作弊了P@JonathanLefflerH2CO3:非常感谢你们两位:)