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

怎么对输入的字符串组进行判断

2012-02-13 
如何对输入的字符串组进行判断#includestdafx.h#includeiostreamusingnamespacestdintmain(0{charfil

如何对输入的字符串组进行判断
#include   <stdafx.h>
#include   <iostream>
using   namespace   std;
int   main(0
{  
char   filename[]={0};
cout < < "请输入文件名 " < <endl;
        cin> > filename;
FILE*   fp   =   fopen(filename,   "rb ");
FILE*   nfp   =   fopen( "1.dat ", "wb ");
unsigned   short   buf=0x00;
  if(   fp   )
{
bool   flag   =   false;
int   nRead   =   0;
while   (true)
{
nRead   =   fread(&buf,1,1,fp);
if   (nRead!=1)
{
break;
}
if   (flag)
{
fwrite(&buf,1,1,nfp);
}
else   if   (buf!=0x00)
{
fseek(fp,-1L,1);//指针前移一个字节
flag   =   true;
}
              }
cout < < "转换成功 " < <endl;
}
else
        {
cout   < <   "文件不存在! "   < <   endl;
}
return   1;
}

请问如何对cin输入的文件名进行判断的   必须输入的是   *.dat文件名

不好意思   只有10分了。

[解决办法]
学正则表达式吧。
=========================
杀鸡用牛刀啊。。。

直接读取了文件名以后判断最后4个字符是不是 ".dat "不就好了。。。
static int is_file_name_ok( char* fn ){
int len = strlen(fn);
if(len <=5)
return 0;
if((fn[len-1] == 't ' || fn[len-1] != 'T ') &&
(fn[len-2] == 'a ' || fn[len-2] == 'A ') &&
(fn[len-3] == 'd ' || fn[len-3] == 'D ') &&
fn[len-4] == '. ')
return 1;
return 0;
}


热点排行