Objective-C文字列からC言語文字列に変換したいのですが、どうすればよいでしょうか?
C言語からObjective-cなら
NSString *cToOc = [[NSString alloc] initWithCString:"結果" encoding:NSUTF8StringEncoding];
NSLog(@"%@", cToOc);
でよいのですが、その逆が知りたいです。
あとこの cToOcは以下のように解放しないといけないのでしょうか?
[cToOc release];
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
> よくわかっていないのですが、
「retain」、「release」、「autorelease」いずれもNSObjectのプロトコルなので、NSObject Protocolレファレンスで調べれば、わかります。
こういうことをいうと、反発されるだけかもしれませんが。英文のリファレンスを読めることが、Cocoa、iPhone SDK開発の、最低条件なので、英語がわからないといういいわけは、聞き入れることができません。まえもって、お断りしておきます。
>英文のリファレンスを読めることが、Cocoa、iPhone SDK開発の、最低条件
なるほど、最低条件すら知りませんでした。
英語を避けてはいけないのですね。
No.1
- 回答日時:
NSStringのインスタンスメソッドに「cStringUsingEncoding:」があります。
NSStringのリファレンスを調べれば、すぐに見つかるはずですが?> あとこの cToOcは以下のように解放しないといけないのでしょうか?
はいそうです。
代わりに「stringWithCString:encoding:」を使うと、release不用です。
NSStringにかかわらず、すべてのクラスのイニシアライザについて、「init」で始まるものと、クラス名で始まるもので、おなじ仕事をするメソッドがあることに気づきますが、このふたつの違いは、自動でretainするか、自動でautoreleaseするかです。いちど使ったら、すぐに不用になるインスタンスは、後者でイニシアライズするといいでしょう。
ご回答ありがとうございます。
よくわかっていないのですが、
initで始まるものは 自動でretain? releaseは手動
クラス名(stringWithCStringがクラス名)で始まるものは 手動でretain? 自動でreleaseされる
という意味でしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 【C言語】全角文字の配列を、全角のまま1文字ずつ出力する方法 4 2023/05/09 15:08
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C言語で 英文字のみからなる文字列、”Radar”、”WasItACatISaw”、”a”、””(空 5 2022/12/20 15:17
- C言語・C++・C# c言語 int temp = 0; if(isdigit(arr[i])){ temp=arr[i] 2 2022/03/27 01:44
- C言語・C++・C# C言語の質問です。 以下の命令を実行するプログラムを作りました ①文字列aとbの長さを表示 ②aとb 1 2022/04/29 15:35
- C言語・C++・C# C言語について質問です。 以下のような結果を出すためにはどのようなコードが良いですか?サンプルコード 3 2022/11/01 16:19
- その他(プログラミング・Web制作) 変換のプログラムを教えてください。 6 2023/07/01 09:57
- C言語・C++・C# C言語の質問です、プログラミング初心者です このような文字列があった場合 "abcdef☆ghijk 4 2022/11/22 10:56
- C言語・C++・C# C#の問題です。 文字列型の配列 s[100] にキーボードから入力された100文字以内の文字列(単 2 2022/06/22 15:18
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クラスメソッドのインスタンス...
-
get() と find() の違いについて
-
HSTLやSSTL等のI/Oピン
-
No route matches [GET] "/post...
-
pythonのerrorコード
-
windows embdded standard7
-
Rubyについて質問です
-
エクセルVBA オートフィルタで...
-
パイソンのクラス
-
「arg」は何の略?
-
Ruby Selenium 要素の待機
-
テンプレートの特殊化でコンパ...
-
Csvファイルの最終行を取得する...
-
A1の値をファイル名に指定した...
-
PostScript言語で定積分の計算
-
ぱいソン
-
エラー「メソッドまたはデータ...
-
RubyのDateクラスのメソッドが...
-
VBAで型が一致しないエラー(バ...
-
ブロックつきメソッドやyield文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クラスメソッドのインスタンス...
-
インスタンスとオブジェクト
-
pythonのerrorコード
-
get() と find() の違いについて
-
「arg」は何の略?
-
エラー「メソッドまたはデータ...
-
What class are you in? には何...
-
パイソンのクラス
-
教えてください。vb5.0
-
No route matches [GET] "/post...
-
クラス名やモジュール名の競合...
-
VBAで型が一致しないエラー(バ...
-
Rubyについて質問です
-
実行時エラー450:引数の数が一...
-
エクセルVBA オートフィルタで...
-
ぱいソン
-
10円未満を切り捨てる方法は?
-
メソッド定義の構文のdefって
-
Csvファイルの最終行を取得する...
-
Ruby Selenium 要素の待機
おすすめ情報