关于分句的问题,高手指点下,为什么可以屏幕显示,却写不进文件里去?? 急啊!!!!

wo0dy 2009-04-11 10:32:21
// dushuzu.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{


string buffer;
int i,j,length;
i=0;
j=0;
length=0;

char *p[200],*m;
char *bufm=NULL;
char *sep2=".";

char n[500]={0};
// char buf[200]={0};

ifstream in,in1;
ofstream out;
in1.open("f:\\abbrev1.txt");
in.open("f:\\16.txt");
out.open("f:\\13.txt");
string a[9];
string b[200];

// fen ju
in1.getline((char*)&buffer,sizeof(string));
while(!in1.eof())
{

strcpy((char*)&a[i],(char*)&buffer);
i++;
in1.getline((char*)&buffer,100);

}

in1.close();
i=0;
in.getline((char*)&buffer,500);

while(!in.eof())
{
strcpy((char*)&n,(char*)&buffer);

m=n;

while((p[length]=strtok_s(m," ",&bufm))!=NULL)
{
strcpy((char*)&b[length],p[length]);
length++;
m=NULL;

}
if(!out.is_open())
{
printf("can't open the file!!");

}
else
{
for(j=0;j<length;j++)

{ // 就是这个位置,编译没有错误,可以屏显,但就是写不到文件中午,是不是我什么地方定义错了??
printf("%s ",(char*)&b[j]);
out.write((char*)&b[j],strlen((char*)&b[j]));
//最开始是用out<<(char*)&b[j]; 来输出的,可是也写不到文件中去
//out<<"dddddddddd";

}
}



in.getline((char*)&buffer,500);

memset(n,0,500);
}
memset(a,0,9);

in.close();
out.close();
return 0;
}


初接触C++,前几天刚把提取文件部分想出来,今天本来是写了个根据缩略词表分句的程序,结果写完了发现只能在屏幕上显示,根本没写到文件中去,于是就改动了代码,这是源码,输出的部分有问题,不知道是定义错了,还我我对流的理解错误,请高手指点,最好能告诉我到底错在什么地方了,调了快一天了,也没找出毛病,实在是笨。。。

...全文
76 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
as520 2009-04-14
  • 打赏
  • 举报
回复
恩 lz 冒昧的问句 用这个你成功了吗?
//out<<"dddddddddd";
oyljerry 2009-04-13
  • 打赏
  • 举报
回复
用FILE*等来fopen, fwrite写文件

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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