高手赐教:一个关于两个变量如何组合输出的问题

Rebornor 2008-03-21 11:49:04
我在做一个程序的是时候碰到了这样一个坎儿:
需要一个变化的字符串:类似于这个常量:strFormData=_T("keywordtype=&keyword=%CE%C4%D4%B1&jobarea=0400&stype=2&image.x=35&image.y=15");
要求:红字的部分是2个变量,分别用m,n表示,其中m有20种取值(1,2,3,.....20),n有100种取值(101,102,103,...200),
请问:
1.我应该如何定义这个字符串:让他方便的表示出所有20*100=2000种数据组合呢?
2.能不能让每种情况不重复运行输出呢?
请指教,在线等。

...全文
156 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rebornor 2008-03-22
  • 打赏
  • 举报
回复
谢谢大家,马上结贴
Treazy 2008-03-21
  • 打赏
  • 举报
回复


TCHAR strResult[MAX_PATH];
LPCTSTR str = =_T("keywordtype=&keyword%s&jobarea=%s&stype=2&image.x=35&image.y=15");
TCHAR *m, *n;
_sntprintf(strResult, sizeof( strResult) / sizeof( TCHAR ), str, m, n);


代码有个名字写错了!改正!
星羽 2008-03-21
  • 打赏
  • 举报
回复


#include "iostream"
using namespace std;

int main()
{
char* fmt = "hello world %d, hi how areyou %d";

char str[128];

for (int i = 0; i < 20; ++i)
for (int j = 100; j < 200; ++j)
{
sprintf(str, fmt, i, j);
cout<<str<<endl;
}

return 0;
}





Treazy 2008-03-21
  • 打赏
  • 举报
回复
TCHAR strResult[MAX_PATH];
LPCTSTR str = =_T("keywordtype=&keyword%s&jobarea=%s&stype=2&image.x=35&image.y=15");
TCHAR *m, *n;
_sntprintf(strResult, sizeof( strXmlRequest ) / sizeof( TCHAR ), str, m, n);


给你写了个例子,自己看看吧
其中_sntprintf可换!
Rebornor 2008-03-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 A_B_C_ABC 的回复:]
先用sprintf将两个变量的值格式进字符串.
[/Quote]
问题是:printf()的话,那我不是要输入将近2000个次吗?.......
有没有更好的办法呢
Rebornor 2008-03-21
  • 打赏
  • 举报
回复
大哥们,俺是只菜鸟,还是特小的一只。所以希望大家能多举例说明,越详细越好吧^_^
谢谢
0黄瓜0 2008-03-21
  • 打赏
  • 举报
回复
先用sprintf将两个变量的值格式进字符串.
babyvox1999 2008-03-21
  • 打赏
  • 举报
回复
弄一个字符串放循环里变化可以不
Chappell 2008-03-21
  • 打赏
  • 举报
回复

#include <iostream>
#include <sstream>
#include <string>
using namespace std;
#define M 3
#define N 5

int main(int argc, char* argv[])
{
string m[M] = {"上海","台湾","广州"};

int n[N] = {1,2,3,4,5};


for(int i = 0;i<M;i++)
{
for(int j = 0;j<N;j++)
{
ostringstream oss;
oss<<"keywordtype=&keyword"<<m[i]<<"&jobarea="<<n[j]<<"&stype=2&image.x=35&image.y=15";
string result = oss.str();
cout<<result<<endl;
}
}
return 0;
}
Rebornor 2008-03-21
  • 打赏
  • 举报
回复
我试试看~~
Treazy 2008-03-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 Rebornor 的回复:]
引用楼主 Rebornor 的帖子:
我在做一个程序的是时候碰到了这样一个坎儿:
需要一个变化的字符串:类似于这个常量:strFormData=_T("keywordtype=&keyword=%CE%C4%D4%B1&jobarea=0400&stype=2&image.x=35&image.y=15");
要求:红字的部分是2个变量,分别用m,n表示,其中m有20种取值(1,2,3,.....20),n有100种取值(101,102,103,...200),
请问:
1.我应该如何定义这个字符串:让他方便的表示出所有20*100…
[/Quote]

这不就是换汤不换药的事情嘛!

定义一个或者二个数组,循环输出!
Rebornor 2008-03-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 Rebornor 的帖子:]
我在做一个程序的是时候碰到了这样一个坎儿:
需要一个变化的字符串:类似于这个常量:strFormData=_T("keywordtype=&keyword=%CE%C4%D4%B1&jobarea=0400&stype=2&image.x=35&image.y=15");
要求:红字的部分是2个变量,分别用m,n表示,其中m有20种取值(1,2,3,.....20),n有100种取值(101,102,103,...200),
请问:
1.我应该如何定义这个字符串:让他方便的表示出所有20*100=2000种数据组合呢?
2.能不能让…
[/Quote]
不好意思:我想,发帖时候太着急了,有点没说清楚:n可以取数字,但是m的取值不是数字,而是如“上海”、“北京”、“天津”......这样的字符串一共20种取值,我想让程序能自动的列出所有2000种搭配后整体的字符串str,这个程序应该如何完成?
继续在线等····

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧