| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 643 人关注过本帖
标题:编译没错---但运行不出来,WHY?
只看楼主 加入收藏
sunnvya
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1094
专家分:0
注 册:2005-11-23
收藏
 问题点数:0 回复次数:5 
编译没错---但运行不出来,WHY?
//把IP的每个段分别存储在另外4个字符串中
#include <iostream>
#include <string>
using namespace std;
int main()
{string std="123.121.123.87";
char ch1[3],ch2[3],ch3[3],ch4[3];
int i,j,count;
i=0;
j=0;
count=0;
while(std[i])
{if(std[i]=='.')
{count++;i++;j=0;}
switch(count)
{case 0:ch1[j]=std[i];j++;break;
case 1:ch2[j]=std[i];j++;break;
case 2:ch3[j]=std[i];j++;break;
case 3:ch4[j]=std[i];j++;break;
}
i++;
}
for(i=0;i<3;i++)
cout<<ch1[i];
cout<<endl;
for(i=0;i<3;i++)
cout<<ch2[i];
cout<<endl;
for(i=0;i<3;i++)
cout<<ch3[i];
cout<<endl;
for(i=0;i<3;i++)
cout<<ch4[i];
cout<<endl;
return 0;
}

[此贴子已经被作者于2006-4-11 7:57:27编辑过]

搜索更多相关主题的帖子: WHY 编译 std string include 
2006-04-11 07:55
sunnvya
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1094
专家分:0
注 册:2005-11-23
收藏
得分:0 
哦,加个getchar()好象就行了!
不过好象VC++不用加吧,为什么?

http://www. 第二站>>>提供源码下载
2006-04-11 07:58
柳儿
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
注 册:2004-9-23
收藏
得分:0 
楼主是想看运行结果吧。类似的问题,以前的贴子里有,可以找一下。

成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
2006-04-11 09:36
zwfc
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2005-10-17
收藏
得分:0 

楼主,我去试过了。在vc++里是能过运行出来的啊!
但是,最后一段的输出不正确,因为,它没有三个字符,而楼主在输出它的时候按三个字符输出从而没有得到预想的结果。这个问题我觉得是容易解决的。
建议:楼主还可以改进一下,就是IP地址是不确定的,运行后输入IP.


2006-04-11 10:14
名人
Rank: 1
等 级:新手上路
威 望:1
帖 子:205
专家分:0
注 册:2006-3-3
收藏
得分:0 

用指针实现:
#include <iostream>
#include <string>
using namespace std;
#define ARRLEN 4
int main()
{
string std="123.121.123.87";

char ch1[ARRLEN][ARRLEN];
const char *pstr, *pfir;
int cont;

for(int i=0; i<ARRLEN; ++i)
memset(ch1[i], 0, sizeof(ch1[i]));
pstr = std.c_str();
pfir = pstr;
for(i=0; i<ARRLEN; ++i) {
cont = 0;
while(1){
pstr++;cont++;
if (*pstr == '.'){
pstr++;
memcpy(ch1[i], pfir, cont);
pfir = pstr; break;
}else if(i==ARRLEN-1) {
memcpy(ch1[i], pfir, sizeof(ch1[i])); break;
}
}
}
cout<<ch1[0]<<'\n'<<ch1[1]<<'\n'<<ch1[2]<<'\n'<<ch1[3]<<endl;
return 0;
}


未必钱多乐便多,财多累己招烦恼。 清贫乐道真自在,无牵无挂乐逍遥。
2006-04-11 11:52
xiaoweixp
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-4-11
收藏
得分:0 
执行的时候按Ctrl+F5就可以看到运行结果了.

2006-04-11 12:53
快速回复:编译没错---但运行不出来,WHY?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024412 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved