Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.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
通过CMD窗口和C exe写入文本文件?_C_File_Text_Cmd - Fatal编程技术网

通过CMD窗口和C exe写入文本文件?

通过CMD窗口和C exe写入文本文件?,c,file,text,cmd,C,File,Text,Cmd,我想知道如何让这段代码将文本文件的文本值改写为ASCII值 我希望它能做这样的事情: CMD>c:\users\username\desktop>cA5.exe content.txt content.txt中有“abc”,我希望命令行将“abc”更改为它的ASCII值。97... 我不希望在命令窗口中写入任何内容,我希望它在文本文件中更改。这可能吗?如果可能,我如何使用现有的代码 #include <stdio.h> #include <stdlib.h> int

我想知道如何让这段代码将文本文件的文本值改写为ASCII值

我希望它能做这样的事情:

CMD>c:\users\username\desktop>cA5.exe content.txt

content.txt中有“abc”,我希望命令行将“abc”更改为它的ASCII值。97... 我不希望在命令窗口中写入任何内容,我希望它在文本文件中更改。这可能吗?如果可能,我如何使用现有的代码

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


int main(int argc[1], char *argv[1])
{

    FILE *fp; // declaring variable 


    fp = fopen(argv[1], "rb");


    if (fp != NULL) // checks the return value from fopen
    {
        int i;
        do
        {
            i = fgetc(fp);     // scans the file 
            printf("%c",i);
            printf(" ");
        }
        while(i!=-1);
        fclose(fp);
    }
    else
    {
        printf("Error.\n");
    }
}
#包括
#包括
int main(int argc[1],char*argv[1])
{
FILE*fp;//声明变量
fp=fopen(argv[1],“rb”);
if(fp!=NULL)//检查fopen的返回值
{
int i;
做
{
i=fgetc(fp);//扫描文件
printf(“%c”,i);
printf(“”);
}
而(i!=-1);
fclose(fp);
}
其他的
{
printf(“错误。\n”);
}
}

不是最好的代码,但非常简单

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

void convertToAHex(char *data, long int size, FILE *file){
    rewind(file);

    int i;

    for(i = 0; i < size; ++i){
        fprintf(file, "%d ", data[i]);
    }
}

int main(int argc, char *argv[]){
    if(argc != 2){
        return EXIT_FAILURE;
    }

    FILE *file = fopen(argv[1], "r+");
    if(file){
        char *data;
        long int size;

        fseek(file, 0, SEEK_END);
        size = ftell(file);
        rewind(file);
        data = (char *) calloc(size, sizeof(char));
        if(data){
            fread(data, 1, size, file);
            convertToAHex(data, size, file);
            free(data);
        }
        fclose(file);
    }

    return EXIT_SUCCESS;
}
#包括
#包括
void convertToAHex(字符*数据,长整数大小,文件*文件){
倒带(文件);
int i;
对于(i=0;i
您是否在问如何写入文件?是的,我将如何用ASCII值覆盖任何现有文本。您尝试了什么?你有什么问题?在过去的几分钟里,你的两个问题都是非常基本的c。这是家庭作业吗?如果是这样的话,你真的应该花更多的精力为自己解决问题;这样你会学到更多。不,这不是家庭作业。只是我想知道怎么做。Youtubing和其他论坛问题并没有真正帮助我理解它,所以我来到这里。我只想学C:p