首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

cout摩擦了,求解决

2013-01-05 
cout冲突了,求解决#define FILE_SAVE str.txt#includewindows.h#includetlhelp32.h#includeconio.h

cout冲突了,求解决
#define FILE_SAVE "str.txt"
#include<windows.h>
#include<tlhelp32.h>
#include<conio.h>
#include<string>
#include<iostream>
#include<fstream>
using namespace std;

int search(string str1,string str2)
{//字符串匹配函数,成功返回1,否则返回0
  int i=0,j=0;
  while((i<str1.length())&&(j<str2.length()))
  {
  if(str1[i]==str2[j]||str1[i]==str2[j]+32||str1[i]==str2[j]+32){ ++i; ++j; } //继续比较后续字符
  else{ i=i-j+1; j=0; }//指针后退重新开始比较
  }
  if(j==str2.length()){return 1;}
  else{return 0;}
}



int main()
{
int cout;
ifstream file(FILE_SAVE,ios::in);
file.close();//如果该文件不存在则创建

  int mSelect=::MessageBox(NULL,"是否继续添加要优化的进程","窗口",MB_OKCANCEL);//提示是否添加进程的对话窗口
  if(mSelect==IDOK)
{
string str1;
cout<<"123";
cout<< "请输入要添加的进程名称(需区分大小写):";
cin>>str1;
ofstream file1(FILE_SAVE,ios::app);
file1<<str1;
file1.close();//将新增加的进程加入文件中保存
}



int nSelect=::MessageBox(NULL," 是否优化指定的占内存的进程?"," 优化窗口",MB_OKCANCEL);//对话窗口

if(nSelect==IDOK)//对话窗口选择后的操作
{
PROCESSENTRY32 pe32;//获取进程后储存的信息存放于这个结构体
    
pe32.dwSize=sizeof(pe32);//pe32结构长度初始化
HANDLE hProcessSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//获取系统进程列表并返回句柄,第一个参数为列表的类型,第二个为要获取的进程的id,为0则忽略


if(hProcessSnap==INVALID_HANDLE_VALUE)//检查获取进程列表是否成功
{
cout<<"调用失败!";  
return -1;
}
    

BOOL bMore=::Process32First(hProcessSnap,&pe32);//从句柄hProcessSnap获取首个进程信息,并将信息返回到pe32结构
    
string str4;
ifstream file2(FILE_SAVE,ios::in);
file2>>str4;
while(bMore)//若获取成功进行下列步骤
{
  
cout<<"进程名称 :%s\n",pe32.szExeFile;
cout<<"进程ID :"<<pe32.th32ProcessID<<endl;
cout<<"状态 :";

  if(search(str4,pe32.szExeFile)==1)//跟已保存的要结束进程进行对比
{
HANDLE hProcess=::OpenProcess(PROCESS_ALL_ACCESS,TRUE,pe32.th32ProcessID);
//打开ID为pe32.th32ProcessID的进程取得进程句柄,PROCESS_ALL_ACCESS为访问权限的等级
BOOL i=::TerminateProcess(hProcess,0);//结束句柄为hProcess的进程,第二个参数为所结束的进程的推出代码
::CloseHandle(hProcess); //关闭句柄
    
if(i)
cout<<"已被优化关闭\n\n";
else
cout<<"无法优化关闭\n\n";
  }
else
{
cout<<" 活跃\n\n";
}

  bMore=::Process32Next(hProcessSnap,&pe32);//获取当前进程的下个进程的信息到pe结构32
}
::CloseHandle(hProcessSnap);//关闭句柄
file2.close();
printf("\n\n优化结束!");


}
else
{
cout<<endl<<"操作已经取消"<<endl;
}
  
    
printf("\n\n\t\t按任意键推出!");
getch();

return 0;
    
}

这段代码在运行时cout出问题了(用来自动终止无谓进程),不知道是哪里出问题了?求解决


每个cout都出错,都是跟下面一样的出错信息error C2297: '<<' : illegal, right operand has type 'char [8]'
[解决办法]
int cout?????????

热点排行