leiky123 2015-10-17 06:16 采纳率: 0%
浏览 1895

c++怎么将字符串中的汉字和数字分别存入不同字符指针所指空间?

#include
#include
#include
#include
using namespace std;
int read(char *ch){
cout< ofstream outfile;
outfile.open("test.txt",ios::out|ios::app);
if(!outfile){
cout }
char*endptr,*str,*mname;
int i,k,Dose;
for(i=0;ch[i]'9';i++)
mname[i]=ch[i];
mname[i]='\0';
for(k=0;ch[i]>='0'&&ch[i]<='9';i++,k++){
str[k]=ch[i];
}
Dose=strtol(str,&endptr,10);

    outfile<<mname<<Dose<<endl; 
    outfile.close();
    return i;

}
void Handle(char ch[]){
char filen[256];
strcpy(filen,ch);
ifstream infile1;
infile1.open(filen,ios::in);
while(!infile1)
{

cout<<"不能打开输入文件夹:"< cout cin>>filen;
infile1.clear();
infile1.open(filen,ios::in);
}

infile1.unsetf(ios::skipws);
char buf[10000];
int cir=0,bt=0;
while(infile1.getline(buf,10000))                               //一行一行进行读取文件一
{   
    char*begin=buf;
    do{     
            bt=read(begin);
            if(begin+bt+3!=NULL){
                begin+bt+3;
                cir=1;
            }
            else cir=0;
        }while(cir=1);
}
infile1.close();

}
int main(){
char testfilename[256];
cout<<"请输入原始文件: ";
cin>>testfilename;
Handle(testfilename);
}

其中测试文件:1.txt内容为
党参1克,当归10克
连翘5克

党参和1分别存储在char*mname和char*str中,后将char*str转换成int值

  • 写回答

1条回答 默认 最新

  • leiky123 2015-10-17 06:27
    关注

    原来程序长这样…不知道错哪儿了…
    图片说明
    图片说明
    图片说明

    评论

报告相同问题?

悬赏问题

  • ¥15 slam rangenet++配置
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊