我是 C 新手,对此项目的任何帮助将不胜感激。我需要有关此项目的专家建议,谁曾尝试过类似的项目?
我将使用 C 读取两个文件(包含字符串数组或仅包含最适合性能的字符串和数字)并逐行比较两个文件中的字符串(第一个文件中的第一行与第一个文件中的字符串)第二个文件中的第二行,第一个文件中的第二行和第二个文件中的第二行...)并打印它们(如果它们匹配或不匹配)。我需要找到最快的方法来完成此操作(如果需要,我还可以更改文件结构)。下面的示例文件;
File1: File2:
Dens1 Dens1
Hige0 Hige1
Alte1 Alte0
Some1 Some1
我正在考虑以下选项;
option1:
fopen
fgets
memcmp/strcmp/strstr
printf
option2:
open
mmap the file
search and pointer the data from mmap
close
option3:
Reading second file completely and store the content in a array. Then read from the first file and compare.
option4:
your opinion?
感谢您的宝贵时间。
最佳答案
最佳解决方案在很大程度上取决于文件的内容。如果您知道文件已排序,则可以同时逐行读取两个文件。如果您的文件可能非常大(相对于可用 RAM),则需要将整个文件读入内存的方法将不起作用。
您需要更好地定义您的问题,以获得足够的信息来决定最佳解决方案。
关于c - 如何比较两个文件中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24938106/