基本上我用C语言编程,而我正在尝试的是将文本文件读取到某个点,然后一旦它在那里,然后打印我从程序计算的数据。
我已阅读所有fread
,fseek
,fgets
函数等等,但并不真正了解如何使用它们。我有一个.kml文件,将与谷歌地球一起使用。我的程序计算坐标,所以我想把它们放在文件的一个点上。以下是文件中的数据:
/*******text file******/
Linestring
stlye
etc....
coordinates
3.0,36.8333333
1.986105,37.166788
0.963341,37.491533
-0.068231,37.807386
/*******eof*********/
因此它应该搜索,直到它读取坐标,然后我的所有数据都应输入。 我想可能有类似
的东西char[25] = "coordinates";
if (function_that_searches_file == char){
fprintf(myfile, "data%lf", data); // etc..
}
某处,但找不到任何东西。所以任何帮助或指向正确的方向都会非常感激。
答案 0 :(得分:3)
C没有字符串,因此您无法将它们与这样的相等进行比较。您必须使用strcmp()
来比较两个字符串(read about how to use it here)。
例如,您可以创建一个循环来读取文件的每一行,并在该循环中放置:
if(!strcmp(lineFromFile, "coordinates"))
{
// Do something here
}
注意:strcmp()
要记住有点棘手,因为它在相等时返回0。这就是为什么它被否定了,因为在C中0为假。