-2

基本上我在用 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..
}

某处,但找不到任何东西。因此,任何帮助或指出正确的方向将不胜感激。

4

1 回答 1

3

C 没有字符串,因此您不能将它们与这样的相等性进行比较。您必须使用strcmp()来比较两个字符串(在此处阅读有关如何使用它的信息)。

例如,您可以创建一个循环来读取文件的每一行,并在该循环中放入:

if(!strcmp(lineFromFile, "coordinates"))
{
    // Do something here
}

注意:strcmp()有点难以记住,因为它在相等时返回 0。这就是它被否定的原因,因为 0 在 C 中是假的。

于 2012-12-09T23:41:36.960 回答