我有两个文件,第一个看起来像这样
125 6.678
435 9.084
234 8.874
依此类推,由我的程序生成大约 2,048,000 个条目。第二个文件是由 gnuplot 生成的文件,看起来有点像:
65 321456 985
78 98374 834
54 8493 848
依此类推,大约有 2,048,000 个条目。
现在我需要做的是使用 3D 中的 gnuplot 将第一个文件的第二列和第二个文件的两列相互绘制。我认为第一个任务是将它们全部放入同一个文件中,我只想编写一个简单的 c 程序来快速读取这两个文件并将相关列放入一个文件中,但我不知道该怎么做。我知道如何复制文件的全部内容并使用 ac 程序将它们写入另一个文件 - 例如,我有以下代码:
#include <stdio.h>
#include <stdlib.h>
int main (int argc, const char * argv[])
{
FILE *avalanche_size_BM;
FILE *avalanche_size_BM_2000;
char ch;
avalanche_size_BM = fopen("/Users/maheensiddiqui/Documents/MSc_Proj/avalanche_size_BM.dat","r");
if (avalanche_size_BM == NULL)
{
printf("I couldn't open.\n");
exit(0);
}
avalanche_size_BM_2000 = fopen("/Users/maheensiddiqui/Desktop/avalanche_size_BM_2000.dat", "w");
if (avalanche_size_BM_2000 == NULL)
{
printf("I couldn't open.\n");
exit(0);
}
printf("\n success!!");
while((ch=getc(avalanche_size_BM))!=EOF)
putc(ch,avalanche_size_BM_2000);
fclose(avalanche_size_BM);
fclose(avalanche_size_BM_2000);
return(0);
}
但是我如何告诉它只读取第一个文件中的第二列和第二个文件中的前两列并将它们(而不是所有列)复制到第三个文件中,我可以用它来绘制我的 3-D 图.
任何帮助都感激不尽!
谢谢