将数据设置到 nodePtr 而不覆盖
Setting data to a nodePtr without overwriting
好的,所以我想知道如何设置一个数据结构,该结构在结构中包含其他类型的数据,例如道路或城市,但它没有结构数据类型的数组。
Struct data
{
Char city[MAX_LENGTH];
Char road[MAX_LENGTH];
}
主要内容:
数据数据; //只是不想改名字
我知道如何初始化一个节点插入一个节点等......但是当涉及到添加更多信息时我不明白......
当我读取二进制文件时。它读取了所述结构,我想在不覆盖它的情况下向二进制文件添加更多内容。我不确定如何使用节点添加到它。有什么想法吗?
基本说明:
我需要补充。没有覆盖二进制文件中内容的城市和道路。
您的大写字母似乎有问题,这在 C:
中很重要
#define MAX_LENGTH 50
struct data
{
char city[MAX_LENGTH];
char road[MAX_LENGTH];
};
int main()
{
struct data data;
return 0;
}
您可以写入二进制文件而不覆盖它,方法是使用以下任一方式打开它:
FILE *fp = fopen(filename, "r+b");
FILE *fp2 = fopen(filename, "ab"); // "a+b" will also work
对于第一个版本,您的文件指针将位于文件的最开头,因此您可能需要查找到您要写入的位置:
fseek(fp, 0, SEEK_END);
对于第二个版本,您的文件指针将位于文件的末尾,任何写入都将附加到文件的末尾。
PS - 上述模式中的 "b" 表示文件是二进制文件,但通常对许多系统没有影响(即 - 被悄悄忽略)。
好的,所以我想知道如何设置一个数据结构,该结构在结构中包含其他类型的数据,例如道路或城市,但它没有结构数据类型的数组。
Struct data
{
Char city[MAX_LENGTH];
Char road[MAX_LENGTH];
}
主要内容: 数据数据; //只是不想改名字 我知道如何初始化一个节点插入一个节点等......但是当涉及到添加更多信息时我不明白...... 当我读取二进制文件时。它读取了所述结构,我想在不覆盖它的情况下向二进制文件添加更多内容。我不确定如何使用节点添加到它。有什么想法吗?
基本说明: 我需要补充。没有覆盖二进制文件中内容的城市和道路。
您的大写字母似乎有问题,这在 C:
中很重要#define MAX_LENGTH 50
struct data
{
char city[MAX_LENGTH];
char road[MAX_LENGTH];
};
int main()
{
struct data data;
return 0;
}
您可以写入二进制文件而不覆盖它,方法是使用以下任一方式打开它:
FILE *fp = fopen(filename, "r+b");
FILE *fp2 = fopen(filename, "ab"); // "a+b" will also work
对于第一个版本,您的文件指针将位于文件的最开头,因此您可能需要查找到您要写入的位置:
fseek(fp, 0, SEEK_END);
对于第二个版本,您的文件指针将位于文件的末尾,任何写入都将附加到文件的末尾。
PS - 上述模式中的 "b" 表示文件是二进制文件,但通常对许多系统没有影响(即 - 被悄悄忽略)。