我可以从NSString复制到NSMutableString吗?

时间:2012-11-26 06:14:18

标签: iphone ios nsstring copy

strValueNSString,我想将strValue的内容复制到其他地方。

该地点为mstrValue,即NSMutableStringmstrValue的空间已经分配。

我想知道如何才能将memcpystrcpy用于此目的。

如果不可能,我想知道其他方法。

4 个答案:

答案 0 :(得分:11)

您的问题不是很明确,但如果您想将可变字符串的值设置为其他字符串,请执行以下操作:

[mstrValue setString:strValue];

如果要附加值,请执行以下操作:

[mstrValue appendString:strValue];

这两个假设在某些时候你做过:

mstrValue = [[NSMutableString alloc] init];

查看NSMutableString的文档。有很多方法可以更新它的价值。

答案 1 :(得分:0)

我总是喜欢使用[NSString stringWithFormat@"%@", strValue];,因为那样你就可以清楚地获得一个新的自动释放字符串,并且可以正确处理字符串“strValue”。

NSMutableString *mstrValue = [NSMutableString stringWithFormat:@"%@", strValue];

OR

NSMutableString *mstrValue = [NSMutableString stringWithString:strValue];

答案 2 :(得分:0)

除非你想正确处理字符串编码,否则你应该避免使用memcpy或strcpy。

答案 3 :(得分:0)

是对象分配:

#include<iostream> using namespace std; class Box{ private: int d; public: Box(int i){ cout << "Constructor" << endl; d = i; } Box(const Box &old){ cout << "Copy Constructor" << endl; d = old.d; } int getd(){ return d; } ~Box(){ cout << "Destructor" << endl; } Box operator+(const Box& op){ Box c(15); c.d = d + op.d; return c; } }; int main(){ Box a(10); Box b = a; Box c = a+b; cout << c.getd() << endl; return 0; }

你可以做到。