C++ Seekp multiple times
C++ Seekp multiple times
代码需要通过使用seekp转到特定的地址来在文件中写入一些值。但是当我启动它时,只有第一个数组被写入文件。新地址可以像新值一样从INI读取,但它不会写入文件中。它用于游戏保存文件。
法典:
const int noq = 5;
const int noqd = 4;
int questData[noqd] = {10, 10, 10, 10};
int adresslist[noqd] ={0x0,0x0,0x0, 0x0};
fstream aus("quest1", ios::binary | ios::out | ios::in);
char buffer[512];
int i;
int j;
int Money, Prize, HRpoints, Map;
int Mappointer, Moneypointer, PrizePointer, HRpointer;
for (j=0; j <= noq; j++)
{
sprintf_s(buffer,"%d",j);
Money = GetPrivateProfileInt(buffer,"RewardMoney", 0, ".\Settings.ini");
Prize = GetPrivateProfileInt(buffer,"Questprize", 0 , ".\Settings.ini");
HRpoints = GetPrivateProfileInt(buffer,"RewardHRpoints", 0 , ".\Settings.ini");
Map = GetPrivateProfileInt(buffer,"Map", 1 , ".\Settings.ini");
questData[0] = Money;
questData[1] = HRpoints;
questData[2] = Prize;
questData[3] = Map;
Moneypointer = GetPrivateProfileInt(buffer,"RewardMoney", 0, ".\Pointers.ini");
PrizePointer = GetPrivateProfileInt(buffer,"Questprize", 0 , ".\Pointers.ini");
HRpointer = GetPrivateProfileInt(buffer,"RewardHRpoints", 0 , ".\Pointers.ini");
Mappointer = GetPrivateProfileInt(buffer,"Map", 1 , ".\Pointers.ini");
adresslist[0] = Moneypointer;
adresslist[1] = HRpointer;
adresslist[2] = PrizePointer;
adresslist[3] = Mappointer;
for (i=0; i<=noqd; i++)
{
printf("n<Adress>n");
aus.seekp(0x0);
aus.seekp(adresslist[i], ios::beg);
printf("n<Write>");
aus.write(reinterpret_cast<char*>(&questData[i]), sizeof(questData[i]));
Beep(1000,100);
}
i = 0;
}
aus.close();
}
您的for
循环是错误的。
for (i=0; i<=noqd; i++)
这是 0,1,2,3,4。但您的数组只能从 0 到 3。
相关文章:
- C++ 链接到单独的.cpp文件说"multiple definitions"
- "multiple overloads"使用具有重复类型的模板化类
- 使用"multiple"命名空间单行
- 仅在使用 gradle 在 Travis CI 上编译时才"multiple definition" googletest 符号
- Qt5 C++中出现意外"Multiple definition"错误
- 为什么只有一个库的链接器错误'multiple definitions'?在 Android Studio 中使用 CMake (3.4.1)
- 如何使用 Eigen::Tensor::convolve with Multiple Kernel?
- 为什么会给出"multiple test case"错误?
- "multiple definition of"链接错误
- 编译mbed操作系统程序时"multiple definition of `main'"错误
- C++ 使用生成文件捕获框架'multiple definition'链接器错误
- 为什么会出现"Multiple Definitions"错误
- 谷歌模拟 - 怎么说"function must be called ONCE with a certain parameter but ok to be called many times with
- 'Multiple Definition'错误
- 无缘无故地"Multiple definition"
- 如何正确将times -pec转换为时空
- 使用 Qt 创建器时出错:"multiple definition" "first defined here"
- C++:" multiple definition of 'mainCRTStartup' "错误等
- "multiple definition of value"在 g++ 中编译具有未初始化全局但不是 gcc 的 C 程序时
- C++ Seekp multiple times