【发布时间】:2011-06-17 05:43:51
【问题描述】:
我遇到了一个我无法解决的问题。 所以我需要的是:我需要制作一个程序来接收一个字符串输入并将其转换为十六进制,然后将其保存到文件中。 如果文件没有创建,它应该,但如果已经有一个,它应该继续写入相同的(我猜“a+”参数是我需要的,对吧?)
举个例子。我执行程序。要求我输入一些单词。 我输入“stack”,它返回了正确的“73 74 61 63 6B”。 我已经用这个算法做到了
#include <cstdio>
#include <cstdlib>
#include <string>
#include <iostream>
using namespace std;
int main(){
string a;
cin >> a;
for( int i = 0; i < a.size(); i++ )
printf( "%hX ", a[i] );
cout << endl;
system( "pause" );
return 0;
}
这很好,但我需要在文本文件中输出。 我用这个:
for( int i = 0; i < a.size(); i++ )
{
fprintf(pFile, "%hX ", a[i]);
}
但它不起作用。可以帮忙看看这个吗,谢谢!
完整的代码,对不起,我在代码示例方面遇到了问题,希望你不介意 pastebin 链接 http://pastebin.com/3u1mfg8n
【问题讨论】:
-
“它不起作用”不是很具有描述性。您可以添加更多详细信息吗?它有什么作用?没有?崩溃?
-
显示你的 pFile 声明和赋值代码。
-
对不起,我想我忘了。是的,它什么都不做......我将在问题中添加代码
-
起初我使用了那个代码,但是十六进制输出不能正常工作。我按照说明进行操作,但文件中只有相同的字符串。