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ランキング
-
C#,vb.netで業務用アプリ開発と...
-
へんな現象
-
研究室志望の提出文書
-
応用情報技術者試験の令和元年...
-
Linux Cプログラミングを学ぶた...
-
gccを行ってもexeファイルが生...
-
win10で、正確な待ち時間の作り方
-
mallocについて
-
Windows Formアプリからコンソ...
-
Notepad++の関数リスト表示の変...
-
C言語 1から20までの逆数の和を...
-
C言語 配列と関数の練習問題
-
Notepad++の関数リスト表示でC...
-
C言語の関数と配列に関する質問
-
C言語初心者です、、、お助けく...
-
Windows formアプリで データグ...
-
[C言語]fputsとfprintfの違い
-
システムエンジニアの適正について
-
あなたは、Excelはどうやって学...
-
MACで動く実行ファイルをWindow...
マンスリーランキングこのカテゴリの人気マンスリー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 要素の待機
おすすめ情報