美文网首页
C++杂记(二)

C++杂记(二)

作者: zjh3029 | 来源:发表于2018-04-07 12:10 被阅读0次

    1.C++函数参数个数不定(http://blog.csdn.net/huangwwu11/article/details/44999349)

    参数为同一种类型的:initializer_list<type> lst
     有几个方法可以调用:lst.size();lst.begin();lst.end()
    
    参数为不同类型的
        用省略号指定参数列表:
            void fun(...);
            void fun(param_list, ...);
    

    2.查找指定字符:

    char a[]="abcd谢谢采纳"
    strstr(a,"谢谢");
    存在返回第一次出现的位置,不存在返回NULL
    
    string str= "元芳,你怎么看?"
     
    size_t pos = str.find("元芳");
     
    asser(pos != string::npos);
    

    3.txt文档删除整行:

    #include <fstream>
    #include <string>
    int main(void)
    {
        ifstream fi("1.txt", ofstream::in);
        ofstream fo("2.txt", ofstream::out);
        string buf;
        string s1 = "zhangxiang";
        string s2 = "天朝";
        if (fi.is_open() && fo.is_open())
        {
            while (true)
            {
                if (!(fi >> buf)) break;
                if (buf == s1 || buf == s2) continue;
                fo << buf << endl;
            }
            fi.close();
            fo.close();
        }
        return 0;
    }
    

    4.打开文件需要ofstream和ifstream, 一个是读, 一个是写. 所以, 要复制需要这样

    #include <fstream>
    using namespace std;
     
    int main()
    {
        ifstream fin("input.txt");
        ofstream fout("output.txt");
        char data;
         
        if (!fin || !fout)
            return 0;
             
        while(!fin.eof())
        {
            fin>>data;
            fout<<data;
        }
     
        return 0;
    }
    

    5.输出结构体:

    #define Name(X) #X
    #define Out(X) {string xname=Name(X);cout<<xname<<": "<<X<<endl;}
    void out(tWAVEFORMATEX *waveFormat)
    {
        Out(waveFormat->wFormatTag);
        Out(waveFormat->nChannels);
        Out(waveFormat->nSamplesPerSec);
        Out(waveFormat->nAvgBytesPerSec);
        Out(waveFormat->nBlockAlign);
        Out(waveFormat->wBitsPerSample);
        Out(waveFormat->cbSize);
    }
    

    6.MFC 中 CString 与 std::string 如何相互转换

    CString bb,aa="你好";
    string a,b="你好";
    
    CString ->string
    a=CT2A(aa);
    
    string->CString
    bb=CA2T(b);
    

    相关文章

      网友评论

          本文标题:C++杂记(二)

          本文链接:https://www.haomeiwen.com/subject/funvextx.html