社区
C++ 语言
帖子详情
哪位大哥大姐可以帮我弄好这个程序啊。。。
roger0710
2009-04-17 07:45:08
一个小程序,把十六进制文本转换成十六进制数值,但是就是不对啊,哪位大哥大姐愿意帮忙,我发给你啊。。。这里居然总说我上传错误。。。啊。。。要疯了。。。
...全文
109
11
打赏
收藏
哪位大哥大姐可以帮我弄好这个程序啊。。。
一个小程序,把十六进制文本转换成十六进制数值,但是就是不对啊,哪位大哥大姐愿意帮忙,我发给你啊。。。这里居然总说我上传错误。。。啊。。。要疯了。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
roger0710
2009-04-17
打赏
举报
回复
能通过,但是会将信息写入两遍,我用的vc6
jackyjkchen
2009-04-17
打赏
举报
回复
[Quote=引用 9 楼 roger0710 的回复:]
不懂,什么意思啊?
[/Quote]
别告诉我你原来能编译通过……你到底要问什么啊
roger0710
2009-04-17
打赏
举报
回复
不懂,什么意思啊?
jackyjkchen
2009-04-17
打赏
举报
回复
注意的作用域,只在大括号内,把int i放到循环外面就行了
roger0710
2009-04-17
打赏
举报
回复
代码我贴 在上面了
liliangbao
2009-04-17
打赏
举报
回复
LS的好狠~
贴出你的要求,或代码看一看~
roger0710
2009-04-17
打赏
举报
回复
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
#define MAX 1024
string& replace_all(string& str,const string& old_value,const string& new_value)
{
while(true)
{
string::size_type pos(0);
if((pos=str.find(old_value)) != string::npos)
{
str.replace(pos,old_value.length(),new_value);
}
else
{
break;
}
}
return str;
}
int trans(char ch1);
int strToDec(string s)
{
char c[3];
strcpy(c,s.c_str());
int first=trans(c[0]);
int second=trans(c[1]);
int ans=first*16+second;
return ans;
}
int trans(char ch1)
{
int ans;
switch(ch1)
{
case '0':
ans =0;
break;
case '1':
ans=1;
break;
case '2':
ans=2;
break;
case '3':
ans=3;
break;
case '4':
ans=4;
break;
case '5':
ans=5;
break;
case '6':
ans=6;
break;
case '7':
ans=7;
break;
case '8':
ans=8;
break;
case '9':
ans=9;
break;
case 'A':
case 'a':
ans=10;
break;
case 'B':
case 'b':
ans=11;
break;
case 'C':
case 'c':
ans=12;
break;
case 'D':
case 'd':
ans=13;
break;
case 'E':
case 'e':
ans=14;
break;
case 'F':
case 'f':
ans=15;
break;
}
return ans;
}
string DecToStr(int num[],int length)
{
char x1;
string s,ss;
for(int i=0;i <length;i++)
{
x1=(char)num[i];
s+=x1;
}
return s;
}
int main()
{
vector <int> test;
int arr[16];
const char * srcfile = "c:\\1.txt";
const char * desfile = "d:\\2.txt";
char buffer[MAX];
char tmp[16];
int len;
ifstream file1(srcfile);
ofstream file2(desfile);
string strarr[16];
while(file1)
{
file1.getline(buffer,MAX);
string str(buffer);
char cc[3];
replace_all(str,"\t","");
replace_all(str," ","");
//cout < <str < <endl;
for (int i=0;i <str.length();i+=2)
{
strarr[i/2]=str.substr(i,2);
}
//cout < <arr[i];
for(i=0;i <16;i++)
{
arr[i]=strToDec(strarr[i]);
cout < <arr[i] < <" ";
}
string str1;
str1=DecToStr(arr,16);
file2.write(str1.c_str(),str1.length());
}
file1.close();
file2.close();
cout < <"写入完成!" < <endl;
return 0;
}
// char dgt[2];
// int x1;
// int i,j;
// unsigned long int y;
//
//
// s='b';
//
//
// if(s>='A')
// x1=(int)(s+10-'A');
// else
// x1=(int)(s-'0');
//
//
// cout < <x1 < <endl;
roger0710
2009-04-17
打赏
举报
回复
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
#define MAX 1024
string& replace_all(string& str,const string& old_value,const string& new_value)
{
while(true)
{
string::size_type pos(0);
if((pos=str.find(old_value)) != string::npos)
{
str.replace(pos,old_value.length(),new_value);
}
else
{
break;
}
}
return str;
}
int trans(char ch1);
int strToDec(string s)
{
char c[3];
strcpy(c,s.c_str());
int first=trans(c[0]);
int second=trans(c[1]);
int ans=first*16+second;
return ans;
}
int trans(char ch1)
{
int ans;
switch(ch1)
{
case '0':
ans =0;
break;
case '1':
ans=1;
break;
case '2':
ans=2;
break;
case '3':
ans=3;
break;
case '4':
ans=4;
break;
case '5':
ans=5;
break;
case '6':
ans=6;
break;
case '7':
ans=7;
break;
case '8':
ans=8;
break;
case '9':
ans=9;
break;
case 'A':
case 'a':
ans=10;
break;
case 'B':
case 'b':
ans=11;
break;
case 'C':
case 'c':
ans=12;
break;
case 'D':
case 'd':
ans=13;
break;
case 'E':
case 'e':
ans=14;
break;
case 'F':
case 'f':
ans=15;
break;
}
return ans;
}
string DecToStr(int num[],int length)
{
char x1;
string s,ss;
for(int i=0;i<length;i++)
{
x1=(char)num[i];
s+=x1;
}
return s;
}
int main()
{
vector<int> test;
int arr[16];
const char * srcfile = "c:\\1.txt";
const char * desfile = "d:\\2.txt";
char buffer[MAX];
char tmp[16];
int len;
ifstream file1(srcfile);
ofstream file2(desfile);
string strarr[16];
while(file1)
{
file1.getline(buffer,MAX);
string str(buffer);
char cc[3];
replace_all(str,"\t","");
replace_all(str," ","");
//cout<<str<<endl;
for (int i=0;i<str.length();i+=2)
{
strarr[i/2]=str.substr(i,2);
}
//cout<<arr[i];
for(i=0;i<16;i++)
{
arr[i]=strToDec(strarr[i]);
cout<<arr[i]<<" ";
}
string str1;
str1=DecToStr(arr,16);
file2.write(str1.c_str(),str1.length());
}
file1.close();
file2.close();
cout<<"写入完成!"<<endl;
return 0;
}
// char dgt[2];
// int x1;
// int i,j;
// unsigned long int y;
//
//
// s='b';
//
//
// if(s>='A')
// x1=(int)(s+10-'A');
// else
// x1=(int)(s-'0');
//
//
// cout<<x1<<endl;
sherrik
2009-04-17
打赏
举报
回复
acm?
猫已经找不回了
2009-04-17
打赏
举报
回复
贴代码看看.
jackyjkchen
2009-04-17
打赏
举报
回复
粘贴出来,CSDN不支持上传……囧得很
出现VMware Workstation 无法连接到虚拟机。请确保您有权运行该
程序
、访问该
程序
使用的所有目录以及访问所有临时文件目录。 未能将管道连接到虚拟机: 所有的管道范例都在使用中。
今天在学习Linux 的时候 启动VM时出现了这个问题, 搞了很久终于
弄
好了, 就写篇博客来记录一下,
帮
助一下大家,如果对大家有
帮
助,还请
大哥
大姐
点个关注,你的支持就是我坚持下去的动力 ! VMware Workstation 无法...
写给matlab新手的几句话[转]
matlab博大精深,说到底我也只不过是个初学者,只是学的时间比新手长了一点,现在写几句给新手,希望能给...3 不要问:明天要交作业了,
哪位
大侠
帮
忙写个
程序
吧,或初学matlab,不懂呀,
大哥
大姐
帮
忙写个
程序
之类的话
写给matlab新手的几句话
matlab博大精深,说到底我也只不过是个初学者,只是学的时间比新手长... 3 不要问:明天要交作业了,
哪位
大侠
帮
忙写个
程序
吧,或初学matlab,不懂呀,
大哥
大姐
帮
忙写个
程序
之类的话不要等到要用到才去学,如果你有兴趣
请设计各种管理系统、业务系统的
大哥
大姐
们,设计新系统时,拜托您,请允许我修改用户名、密码
各系统的管理员会协助开设帐户,然后打电话通知某某系统的帐号可以使用了,前后持续1周时间才 会把各个系统账号都会开通好,期间还有等待帐户开通的过程,当我离职时,又会有一个过程,把我的帐号一 个个...
word中批量删除多余空行用C++实现
于是乎,各位
大哥
大姐
们把我就当成了义务的电脑维修工.....惨啊..),直接QQ给我,我打开一看,汗啊,怎么搞啊? 以前没
弄
过,于是想着调节行间间距,结果
弄
了一整天硬是没给
弄
好.... 当时那个尴尬啊... 我无语,Z...
C++ 语言
64,266
社区成员
250,463
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章