0

実行時に Objective C 文字列を文字列化しようとしています。

これを行うために文字列化演算子を使用することは可能ですか? 前処理されたマクロであることはわかっていますが、char* を返す関数と組み合わせることができますか?

これは私がやりたいことです..

#define strthis(x) #x
char *itsstringized = strthis([@"my string" UTF8String]);
printf("%s", itsstringized);

結果:

"my string"

いいえ

my string

4

2 に答える 2

1

きっとできます!このマクロを試してください:

#define QUOTEIFY(input) @("\"" #input "\"")
#define QUOTEIFY_STRING(input) @("\"" input "\"")

使用法:

NSLog(QUOTEIFY(Hello World!)); // notice I didn't quote what's inside the brackets.
// or, if you prefer:
NSLog(QUOTEIFY_STRING("Hello, World!"));
于 2012-11-26T16:47:53.163 に答える
1

このようなものが欲しいですか?

文字列をメソッドに渡すと、引用符で囲まれた文字列が返されます。

-(NSString *)stringizedString(NSString *)str{
   return [NSString stringWithFormat:@"\"%@\"", str];
}
于 2012-11-26T16:45:22.410 に答える