请教:如何分隔字符串,存入数组?

gzu120 2006-11-04 05:16:58
字符串char* a[]=" 1 n ADC "
请教,如何实现分隔,把1、n、ABC分别存入数组d[1]、d[2]、d[3]。
我用strtok(),总得不到正解,郁闷-----
谢谢!
...全文
282 8 打赏 收藏 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gzu120 2006-11-04
  • 打赏
  • 举报
回复
谢谢
jixingzhong 2006-11-04
  • 打赏
  • 举报
回复
// 从一个字符串中分割子串,然后得到 最长/最短串 ,
// 修改一下, 把分割出来的串 strcpy 保存一下就可以了 ~~

#include <string.h>
#include <stdio.h>
#include <stdlib.h>

int main()
{
char s[] = "We are proud of you";
char max[20]={0},min[10]={0}, tmp[50], *p;
int index=0;
while(index<strlen(s))
{
strcpy(tmp, s);
p = strtok(tmp+index, " ");
index += strlen(p)+1;
if( 0 == strlen(max)) strcpy(max, p);
if( strlen(p) > strlen(max)) strcpy(max, p);

if( 0 == strlen(min)) strcpy(min, p);
if( strlen(p) < strlen(min)) strcpy(min, p);
}
printf("The max-len substring is: %s\n", max);
printf("The min-len substring is: %s\n", min);
system("PAUSE");
return 0;
}
jixingzhong 2006-11-04
  • 打赏
  • 举报
回复
C语言的话,
由于你的分割字符串的空格数目不一致,
所以不好用 ~~

如果你把字符串中间的空格都格式化, 只留下一个空格分割,
那么就好办了 ~
jixingzhong 2006-11-04
  • 打赏
  • 举报
回复
C++ 用 istringstream

stream>>d1>>d2>>d3;
BoXoft 2006-11-04
  • 打赏
  • 举报
回复
设一个状态变量,读到非空格就置一,读到空格就清零并且把保存前面读到的字符。
lann64 2006-11-04
  • 打赏
  • 举报
回复
istringstream stream(a);
stream>>d1>>d2>>d3;
lann64 2006-11-04
  • 打赏
  • 举报
回复
#include <iostream>
#include <sstream>
using namespace std;
int main()
{
char d1[10],d2[10],d3[10];
char *a=" 1 n ADC ";
istringstream stream(a);
stream>>d1;
stream>>d2;
stream>>d3;
cout<<d1<<endl;
cout<<d2<<endl;
cout<<d3<<endl;
}
lw1a2 2006-11-04
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <conio.h>
#include <string.h>

int main(void)
{
char a[]=" 1 n ADC ";
char *p;
char *d[3];
int i=0;
p=strtok(a," ");
d[i]=(char*)malloc(strlen(p)+1);
strcpy(d[i++], p);
while(p=strtok(NULL," "))
{
d[i]=(char*)malloc(strlen(p)+1);
strcpy(d[i++], p);
}

for(i=0; i<3; i++)
{
printf("%s\n", d[i]);
free(d[i]);
}

getch();
return 0;
}
内容概要:本文介绍了基于Matlab代码实现的电力系统机组组合优化调度方法,适用于IEEE14、IEEE30和IEEE118节点标准测试系统。该资源聚焦于电力系统中发电机组的优化调度问题,通过智能优化算法实现对机组启停、出力分配等决策的最优化,旨在降低运行成本、提升系统可靠性和经济性。文中系统阐述了从数学模型构建、多类型约束处理到优化算法设计与仿真实验验证的完整研究流程,并提供了可复现的Matlab代码,涵盖目标函数设定、约束条件建模及算法求解过程,适用于电力系统调度、能源优化等相关领域的科研与教学实践。; 适合人群:具备电力系统分析、运筹学基础及Matlab编程能力的高校学生、科研人员和工程技术人员,尤其适合从事电力系统优化、智能算法应用研究的研究生与青年学者。; 使用场景及目标:①用于电力系统机组组合(UC)问题的教学实验与课程设计;②支撑科研工作中对遗传算法、粒子群算法等智能优化算法在电力系统调度中应用的研究;③为含可再生能源接入的现代电网调度提供仿真平台与技术参考,助力低碳电力系统规划与运行。; 阅读建议:建议读者结合电力系统调度理论与优化建模知识,深入理解机组组合问题的数学本质与物理约束,再通过Matlab代码进行仿真实践,重点关注算法收敛性、多目标权衡策略与不同测试系统间的性能对比,以实现理论与实践的深度融合。
内容概要:本文研究了一种基于TCN-BiGRU-Attention混合神经网络模型的风电功率预测方法,旨在提升预测精度。该模型融合了时间卷积网络(TCN)对局部时序特征的强大提取能力、双向门控循环单元(BiGRU)对时间序列前后依赖关系的双向捕捉能力,以及注意力(Attention)机制对关键时间步特征的自适应加权聚焦能力。研究采用多变量输入方式,综合纳入风速、风向、温度等多种气象因素作为输入特征,实现风电功率的单步预测。通过对实际风电场数据的实验验证,该模型在预测精度方面相较于单一模型或其他组合模型展现出显著优势,有效降低了预测误差。; 适合人群:具备一定机器学习与深度学习基础,从事新能源预测、电力系统调度或相关领域研究的科研人员与工程技术人员。; 使用场景及目标:①应用于风电场功率实时预测,提升电网调度的稳定性与安全性;②为电力市场交易、储能配置和可再生能源消纳提供高精度数据支持;③作为深度学习模型融合设计的参考案例,推动时序预测技术的发展。; 阅读建议:此资源提供了完整的Matlab代码实现,读者在学习时应重点关注模型结构的设计原理、多变量特征的处理方式以及Attention机制的融入方法,建议结合代码进行复现实验,调整参数以深入理解各组件对最终预测性能的影响。

65,213

社区成员

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

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