如 string = "D:\experiment\StatisticsFileLine\file\text.c"; 
   int pos = string.find('\',0);
   我要找'\'字符的位置
   可能因为在vc中把'\'认为是换行连接符号了,所以编译通不过
   如何解决???????????

解决方案 »

  1.   

    chang your code like this:
    string = "D:\\experiment\\StatisticsFileLine\\file\\text.c"; 
    int pos = string.find('\\',0); 
      

  2.   

    #1楼 得分:0回复于:2009-07-19 10:25:52chang your code like this: 
    string = "D:\\experiment\\StatisticsFileLine\\file\\text.c"; 
    int pos = string.find('\\',0);  但我的string 是用函数获得的一个串
    这样的话还要先替换成'\\'了
    那么如何替换呢
      

  3.   


    如果是这样的话就不用替换了,它在内部就是保存为\\的了。直接用int pos = string.find('\\',0); 来查找就行了。
      

  4.   

    回复于:2009-07-19 10:32:57
    string.replace 
     
     
    对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:我做的第一个超级玛丽,源码公布,散分100 是string.replace('\','\\');吗 如果这样可以的话那就根本没问题了啊
    就是'\'这样写是不能通过的啊
      

  5.   

     
    xylicon
     
    (比你狂) 
    你好: 
    我是用CString strPath = dlg.GetNextPathName(pos);获得一个文件的完整路径的
    如string = "D:\experiment\StatisticsFileLine\file\text.c";
    我直接找'\\'不行的,也找不到啊
      

  6.   



    你的string = "D:\experiment\StatisticsFileLine\file\text.c";中就没有符号"\"(当然在C中应该说没有符号'\\')
      

  7.   

    别的别动,改成
    int pos = string.find('\\',0); 
      

  8.   

     
    to :scsnsjsl_cs_dn  邪风
     
    那么如和解决呢
    比如我要取“text.c”怎么取呢
      

  9.   

    ahao
     
    (天·狼·星) 等 级: 不行啊,仍然找不到的
      

  10.   

    不可能,你string内容是什么,输出了看
      

  11.   


    还真怪异,你确定strPath中确实是"D:\experiment\StatisticsFileLine\file\text.c" 这样吗?
    如果是这样,没理由找不到的。
      

  12.   

    我特地验证的
    CString str = "D:\nihaoa\askdfhoaehg";
    int pos = str.Find('\\',0);
    返回值-1啊
      

  13.   

    还是那句话,我问你,CString str是由什么函数得到的?
      

  14.   

    由CString strPath = dlg.GetNextPathName(pos);获得的啊
      

  15.   


    你还是不懂
    CString str = "D:\nihaoa\askdfhoaehg";
    要写成
    CString str = "D:\\nihaoa\\askdfhoaehg";
      

  16.   


    自己手写要CString str = "D:\\nihaoa\\askdfhoaehg"; 这样如果是函数获得的,就不需要转换。
      

  17.   

    谢谢各位
    结果有了
    总结:函数获得完整路径,就不需要转换直接str.replace('\\',0)
         手写的路径时要用'\\' 就是CString str = "D:\\nihaoa\\askdfhoaehg";形式
    再次谢谢各位
    结贴了
    不过分数太少了
    还是谢谢了啊