C++编写的win32程序如何实现对文档中存储数据的输入和输出?

楼主新手一名,刚接触win32编程,开发环境是vs2010,最近做了一个俄罗斯方块的win32程序,想要实现其中一个记录历史最高分的功能。不想也不会使用数据库,所以想到C++的文件输入输出流,将每一次游戏的得分存储在一个文件中,下一次启动游戏的时候又从该文件中读入数据。楼主的思路如下。
1、首先写了两个简单的C++程序测试文件中存储数据的输入和输出,代码用图片形式附上:
这是向file.dat文件中写入数据

这是从file.dat文件中读入数据
经测试,上面两个文件都能成功运行。
2、楼主在俄罗斯方块的win32程序中做好函数声明,首先测试从文件中读入数据,函数代码如下:

于是接下来遇到两个问题了
其一,写好的这个函数inHighestScore(hdc)应该放到win32程序的哪个位置?
其二,楼主测试了很多位置,可是无论哪个位置都不能将数据在窗口上显示出来
(highestScore.dat文件中已经存储有数据)
(单用TextOut()这个函数,将str8改为任意字符串,可以在窗口上实现输出)
请问楼主该怎么办?求各路大神解答

窗口吗?放在load()里吧。加载窗口时就进行读取和显示。如果你没有类似查询最高分的按钮的话。如果有,那就按的时候加载到一个内存变量里,然后显示时就能用了。

问题二,LPSTR这个我还真不熟。而且好像TextOut也不是用的LPSTR,用的是LPCTSTR。希望能对你有所帮助。

virtual BOOL TextOut(
   int x,
   int y,
   LPCTSTR lpszString,
   int nCount 
);
BOOL TextOut(
   int x,
   int y,
   const CString& str 
);

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-08-29
只写过WIN32汇编和C++,按个人理解说几句。
首先inHighestScore肯定是在窗口初始化之后,才能执行的。
接着是TextOut(),执行这个函数,有没有调函数重绘窗口。
最后,记录历史最高分这种功能,最好是用注册表实现,要么用INF文件,自己建立文件的话,不太好。

C++ 编写一个WIN32程序,向CMD传递参数
首先传递多个参数可以用&,例如下面的命令使cmd.exe执行ping之后再执行dir命令:cmd \/c ping 127.0.0.1>ping.txt & dir >dir.txt 再次,启动cmd有很多种方法,system这就是其中一种 还有WinExec函数,如:WinExec("cmd.exe \/c dir>ping.txt", 0);再有ShellExecute函数,如ShellExecute(NULL,...

C++ 编写一个win32程序,向CMD传递参数
include<stdlib.h>\/*头文件包含*\/ int main(){ system("在这里写参数");}

c++如何在win32控制台输出wchar_t宽字符汉字,输出汉字!!我输出的怎 ...
include <iostream> using namespace std;int main(){ locale loc( "chs" ); \/\/ 定义“区域设置”为中文方式 wcout.imbue( loc ); \/\/ 载入中文字符输入方式 wchar_t * str = L"最好的世界是永远进不去的世界。"; \/\/ 定义宽字符数组,注意 L 是大写 wcout << str << endl;...

...要怎么写才能在需要时启动一个控制台输入输出字
方法\/步骤 打开visual c++ 6.0,然后点击菜单栏中的文件-新建 然后会弹出新建对话框,分别点击-工程-win32 console application,然后在3处输入工程名字,例如example,然后选择存储位置,最后确定。然后 会弹出下面对话框,我们选择第二个,一个简单的程序,然后点击完成。接着在弹出的对话框中选择确定。...

C++ \/\/要求编写一个程序运行时提示输入一个数字,再把这个数字显示出来...
include<iostream> int main(){ \/\/要求编写一个程序运行时提示输入一个数字,再把这个数字显示出来。int a;std::cout<<"请输入一个数字: ";\/\/代码中输入了中文的分号 std::cin>>a;return a; \/\/要显示不是使用 return a; 要改成 std::cout << a << endl; return 0;} ...

如何用C++向一个已经运行的程序的编辑框里输入指定内容
如果只是为了输入方便,不如不编程,用宏软件来实现。如果是为了写外挂之类的程序,则用勾子。勾子我弄不好,请自己翻阅一个月资料先。

微软工程师必修技术之《C++中的Win32编程简介》
为了在C或C++中编写Windows程序,首先需要准备开发环境。可以安装Microsoft Windows软件开发工具包(SDK)或Microsoft Visual Studio。SDK包含编译和链接应用程序所需的头文件和库,同时也提供了用于生成Windows应用程序的命令行工具,包括Visual C++编译器和链接器。尽管命令行工具可用于编译和生成Windows程序,但...

C++ win32生成DLL文件供其他程序调用该怎么生成求步骤
1、从“文件”菜单中,选择“新建”,然后选择“项目…”。2、从“项目类型”窗格中选择“Visual C++”下的“Win32”。3、从“模板”窗格中,选择“Win32 控制台应用程序”。4、为项目选择一个名称,如“MathFuncsDll”,并将其输入“名称”字段。为解决方案选择一个名称,如“DynamicLibrary”,并...

用VC设计一个程序,要求用带参数的值,在程序中输入两个整数并将它们交换...
新建个空win32 console application工程,新建个一个源文件,输入以下代码:define swa(x,y) x=x+y,y=x-y,x=x-y \/\/宏定义 include<iostream.h> void main(){ int a,b;cin>>a>>b;swa(a,b);cout<<a<<" "<<b<<endl;}

c++语言之中没有main函数可以实现输入输出吗
LZ 是想问没有main函数还是不在main函数里面 做输入输出呢??没有main函数肯定不行,后者的话 是可以的

相似回答