Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.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
如何通过Eclipse使用C编写txt文件(通过控制台键入)_C_Eclipse Luna - Fatal编程技术网

如何通过Eclipse使用C编写txt文件(通过控制台键入)

如何通过Eclipse使用C编写txt文件(通过控制台键入),c,eclipse-luna,C,Eclipse Luna,我试图在一些网页上找到这个问题的答案,最后我在这里找到了一个类似的答案,但根本不能满足我的问题 我是编程界的新手,所以我很抱歉我的问题太普通了。此外,我也对自己的英语技能感到惊讶 提前谢谢 #include "modificator.h" int main(void) { editFile(); return 0; } void editFile() { FILE* f; Cadena cad, r

我试图在一些网页上找到这个问题的答案,最后我在这里找到了一个类似的答案,但根本不能满足我的问题

我是编程界的新手,所以我很抱歉我的问题太普通了。此外,我也对自己的英语技能感到惊讶

提前谢谢

  #include "modificator.h"

    int main(void) {
        editFile();
        return 0;
    }

    void editFile() {
        FILE* f;
        Cadena cad, res;  //"Cadena is an array of char"

        printf("Write the access rout to file required: \n");
        scanf("%s", cad);

        f = fopen(cad, "w");

        if (f == NULL) {
            printf("Wrong opening file\n");
        }
        const char *text = scanf("%s", res);    
        fprintf(f, "Some text: %s\n", text);

        fclose(f);
    }
不,不,不。
scanf()
返回
int
类型的值

int chk = scanf("%s", res); // beware buffer overflows
if (chk == 1) {
    fprintf(f, "Some text: %s\n", res);
}

这是一个巨大的错误。谢谢现在问题不同了。它不显示“printf”短语,并且只显示一个单词,尽管我给出了一个256空格的字符数组,并使用指定符“%s”获取消息。
scanf()
with
%s
忽略空格。使用
fgets()
可能会更好,但我不想扫描文件或从文件中获取任何内容,只能在控制台放置的任何位置写入
fgets()
可以读取
stdin
=>假设
res
是字符数组:
while(fgets(res,sizeof res,stdin)){/*用res做你自己的事;你可能想删除res*/}
中的最后一个回车键,现在它永远不会停止接收文本,并且在代码开始时一直不向我显示printf。谢谢你的帮助和时间,也许改天我会再试一次
int chk = scanf("%s", res); // beware buffer overflows
if (chk == 1) {
    fprintf(f, "Some text: %s\n", res);
}