您的位置:首页 > 编程语言 > C语言/C++

实例比较C#与C++字符串操作

2010-12-07 16:29 330 查看
操作实例:从文本文件a.txt中读入如下格式数据:“.000000,.000000,.000000,1.000000,2.000000,3.000000,1.000000,.000000,1.000000,2.000000,.000000,3.000000,.000000,2.000000,2.000000,2.000000,2.000000,3.000000,2.000000,.000000,.000000,.000000,2.000000,2.000000,3.000000,.000000,3.000000,.000000,.000000,.000000,.000000,.000000,.000000,.000000,.000000,.000000,.000000,.000000,.000000,.000000,.000000,……”(一共有84750个数据),将读入的字符串按”,”进行分割,分割后存入字符串数组,再将字符串数组中每个字符串转换成整形数据,即将字符串数组转换成整形数组。
C#实现:
string[]  data;
            StreamReader sr = new StreamReader(‘E:/a.txt’,System.Text.Encoding.Default);
//打开文件
            StringBuilder output = new StringBuilder();
            string rl;
            while ((rl = sr.ReadLine()) != null)
            {
                output.Append(rl);
            }
            data = output.ToString().Split(',');  //按“,“分割字符串
            int[] idata = new string[data.Length/2];
for(int i=0;i<data.Length;i++)
{
    idata[i]=Convert.ToInt32(data[i].ToString());   //类型转换
}
C++(WIN32 API)实现:
         char str[1000000];
  char tstr[84750][7];
  int smh[84750];
  int j=0;
  int k=0;
  DWORD Len=0;
DWORD SL=0;
HANDLE hFile = CreateFile (TEXT("E:/dm.txt"), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);  
         ReadFile(hFile,str,1000000,&Len,NULL);    //将文件数据读入字符串str
         SL=strlen(str);
         for(int i=0;i<SL;i++)    //按‘,‘分隔字符串
         {
                 if((str[i]!=',')&&(str[i]!=NULL))
                 {
                      tstr[j][k]=str[i];
                      k++;
                 }
                 else if((str[i]==',')&&(str[i]!=NULL))
                 {
                      j++;
                     k=0;
                 }
                 else
                 {
                      break;
                 }
            }
            for(int i=0;i<84750;i++)     //将字符串转换成整型数
            {
                 smh[i]=atoi(tstr[i]); 
   }
经过比较,感觉C#对字符串的处理还是比较方便的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# c++ null string file output