Tag: 文件

获取二进制文件的哈希值

我想获取我的名字的二进制文件的哈希值。 我尝试了以下内容,但后来意识到SHA1()正在为字符串(文件名SHA1()返回哈希值。 但我想在文件本身上运行它。 关于如何做到这一点的任何指针都会很棒。 char *fileName = “/bin/ls” unsigned char hash[SHA_DIGEST_LENGTH]; SHA1((unsigned char *)fileName, strlen(fileName),hash);

用户输入打开文件(字符串) – C.

我想弄清楚如何将用户输入用作C中的文件名。这是我编写的简单程序。 #include #define MAX 100 int main() { FILE *fp; char name[MAX]; printf(“Enter filename: “); fgets(name, MAX, stdin); if((fp = fopen(name, “w”)) == 0) printf(“File cannot be opened!”); return 0; } 它始终打印“文件无法打开”。

什么是C中FILE结构中的r +?

我正在地址阅读一些C文本: https : //cs.senecac.on.ca/~btp100/pages/content/files.html 在“ OPENING A FILE ”一节中,作者写道: “”r+” – opens the file for reading and possibly writing” 。 我不明白为什么作者说“ possibly writing ”。 为什么不“ reading and writing ”。 在某些情况下,如果使用”r+”我们无法写入文件?

使用C替换文本文件中的行

我想在使用C语言的heet更改包含#符号的行。 我已经尝试过这种方式,但它没有彻底运行,它只是替换字符和覆盖而不是整个字符串,就像我想要的那样。 还有其他技巧可以从文件中删除或删除整行吗? 所以,我们可以轻松取代它。 myfile.txt 🙁 执行前) Joy #Smith Lee Sara# Priyanka #Addy 码: #include #include int main() { FILE *pFile; fpos_t pos1, pos2; int line = 0; char buf[68] char *p; char temp[10] = “heet”; pFile = fopen(“myfile.txt”, “r+”); printf(“changes are made in this lines:\t”); while (!feof(pFile)) { ++line; fgetpos(pFile, &pos1); if (fgets(buf, 68, […]

从C中的文件读取长行时处理内存

首先,我知道这个问题与这个主题非常接近,但问题是措辞太差,以至于我甚至不确定它是否重复加上没有显示代码所以我认为它应该被正确地问。 我试图逐行读取文件,我需要在variable中特别存储一行。 我已经设法使用fgets很容易地完成了这个操作,但是要读取的行的大小和文件中的行数 仍然未知 。 我需要一种方法来正确地为variable分配内存,无论行的大小如何, 使用C而不是C ++ 。 到目前为止我的代码看起来像这样: allowedMemory = malloc(sizeof(char[1501])); // Checks if enough memory if (NULL == allowedMemory) { fprintf(stderr, “Not enough memory. \n”); exit(1); } else char* res; res = allowedMemory; while(fgets(res, 1500, file)) // Iterate until end of file { if (res == theLineIWant) // Using strcmp instead of […]

在目录中创建文件(C)

我正在尝试在目录中创建目录和文件。 下面是我在C中的代码,但是当我尝试编译它时,我得到了这个错误: invalid operands to binary / (have ‘const char *’ and ‘char *’) char *directory = “my_dir”; struct stat dir = {0}; if(stat(directory, &dir) == -1) { mkdir(directory, 0755); printf(“created directory testdir successfully! \n”); } int filedescriptor = open(directory/”my_log.txt”, O_RDWR | O_APPEND | O_CREAT); if (filedescriptor < 0) { perror("Error creating my_log file\n"); exit(-1); […]

如何通过行块处理C中的文本文件?

我正在用C编写一个处理文本文件的程序,并跟踪每个唯一的单词(通过使用一个结构,该结构具有该单词的char数组和其出现次数的计数)并将该结构存储到数据结构中。 但是,分配包括:“整个txt文件可能非常大,无法保存在主内存中。请在程序中考虑这一点。” 我下课后问他,并说他一次读X行文本文件(我认为20,000是他的建议?),一次分析它们并更新结构,直到你到达文件末尾。 任何人都可以帮助解释这样做的最佳方式并告诉我使用哪些function? 我对C.非常非常新。 (我目前的程序对于小文件是准确和正确的,我只需要让它容纳大量文件)。 非常感谢!! 编辑: fp = fopen(argv[w], “r”); if ((fp) == NULL){ fprintf( stderr, “Input file %s cannot be opened.\n”, argv[w] ); return 2; } /* other parts of my program here */ char s[MaxWordSize]; while (fscanf(fp,”%s”,s) != EOF){ nonAlphabeticDelete(s); // removes non letter characters toLowerCase(s); //converts the string to lowercase […]

没有fopen()的读文件(C语言)

我正在开展一个学校项目,我们必须在保存在.txt文件中的表上执行一些操作(select,min,max)。 问题是我们不能使用常见的函数,如fopen,fscanf,fclose。 该程序将从命令行启动,如下所示: .\project.exe select parameters <table.txt 你有一些想法如何在不使用fopen的情况下将.txt文件的内容转换为stdin吗? 谢谢。

将fpos_t强制转换为int或char

我正在使用一个函数,该函数使用按位操作和文件的长度: fpos_t flen; 当我尝试将其转换为int或char,或尝试对其进行算术运算时,它失败并出现以下编译错误: error: aggregate value used where an integer was expected

fread / fwrite大小和计数

我怀疑用于fread / fwrite的参数大小和计数的顺序。 如果我想从文件fp中读取8kb数据,以下哪项更有效? fread(data,1,8192,fp) fread(data,8192,1,fp) 还有我应该担心的endiannes问题吗?