ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.
Bu makalede aşağıdaki ifade eder Microsoft .NET Framework sınıf kitaplığı ad:
System::Runtime:: InteropServices
Msclr::interop
Özet
Bu makalede System:: String'i * char * aşağıdakileri kullanarak dönüştürmek için birkaç yol açıklamaktadır:
Microsoft Visual C++ .NET 2002 ve Visual C++ .NET 2003 Microsoft C++ için Yönetilen Uzantılar
C + +/ CLI Microsoft Visual C++ 2005 ve Microsoft Visual C++ 2008
Yöntem 1
PtrToStringChars iç işaretçi gerçek dize nesneye verir. Varsa, Bu işaretçi bir yönetilmeyen işlev çağrısına geçirin, işaretçiyi tutturmak gerekir sırasında zaman uyumsuz bir atık nesne taşınmaz sağlamak için toplama işlemi:
StringToHGlobalAnsi yerel yığın yönetilen bir dize nesne içeriğini kopyalar. ve bunu içine American National Standards Institute (ANSI) dönüştürür Biçimlendir on the fly. Bu yöntem, gereken yerel yığın bellek ayırır:
Not Visual C++ 2005 ve Visual C++ 2008'de, ortak dil çalışma zamanı desteği derleyici seçeneği eklemeniz gerekir (/ clr:oldSyntax) önceki kod örneği başarıyla derlemek için.Ortak dil çalışma zamanı desteği derleyici seçeneği eklemek için şu adımları izleyin:
' I tıklatın Projeve sonra tıklatın ProjectName Özellikler.
NotProjectName Projenin adı için yer tutucudur.
Genişlet Yapılandırma özelliklerive sonra tıklatın Genel.
Sağ bölmede, seçmek için tıklatın Ortak dil çalışma zamanı desteği, eski sözdizimi (/ clr:oldSyntax) içinde Ortak dil çalışma zamanı desteği Proje ayarları.
' I tıklatın Uygulave sonra tıklatın TAMAM.
Ortak dil çalışma zamanı desteği derleyici seçenekleri hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
Not Bu kod, Visual C++ .NET 2002 veya Visual C++ .NET 2003'te C++ için Yönetilen Uzantılar kullanarak derleme yapmaz. Yeni C + kullandığı +/ CLI sözdizimi Visual C++ 2005 ve Visaul C++ 2008'de kullanılmaya başlanan yeni msclr ad alanı kodu kullanılmaya başlandı. Başarıyla bu kodu derlemek için Microsoft Visual C++ 2008 clr/CLR C++ Derleyici anahtarı kullanmanız gerekir.
Yönetilen Uzantılar C++ kodu için (Visual C++ 2002 veya Visual C++ 2003)