string的c_str()方法和data()方法------人云亦云的人不少啊

来源:互联网 发布:tcp端口号 编辑:程序博客网 时间:2024/05/22 23:53

         很少用到string的data方法, 最近刚好碰到, 上网差了一下data和c_str的区别, 乱说的不少。  我来测试一下(在VC6.0中搞起):

#include <iostream>#include <string>using namespace std;int main(){{string s = "12345";char test[10];int i = 0;for(i = 0; i < 10; i++){test[i] = 'z';}strncpy(test, s.c_str(), 6);for(i = 0; i < 10; i++){printf("%c ", test[i]);}cout << endl;}{string s = "12345";char test[10];int i = 0;for(i = 0; i < 10; i++){test[i] = 'z';}strncpy(test, s.data(), 6);for(i = 0; i < 10; i++){printf("%c ", test[i]);}cout << endl;}return 0;}
        结果:

1 2 3 4 5   z z z z

1 2 3 4 5   z z z z


         不多说。 

1 0