Home » Windows API

lstrcpy

說明:
lstrcpy 函式可將字串複製到一記憶體空間


引用函式庫:
Kernel32


適用系統:
Windows NT 3.1 或 Windows 95以上


函式原型:

Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" ( _
    ByVal lpString1 As String, _
    ByVal lpString2 As String _
    ) As Long



參數型態及說明:
lpString1String 要存放字串的記憶體空間
lpString2String 要放到記憶體空間的字串

回傳值:
Long 若呼叫成功的話,將會回傳複製到記憶體空間的指標位置;若呼叫失敗的話,則回傳 NULL

.NET Framework API:
System.String.CopyTo
System.String.ToCharArray


VB範例:

檢視原始碼 Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
'VB的宣告
Private Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" ( _
	ByVal lpString1 As String, _
	ByVal lpString2 As String _
	) As Long
 
'宣告一個記憶體空間
Dim str As String
 
str = String(200, 0)
 
Dim rtvl As Long
 
'把Windwos API複製到str中
rtvl = lstrcpy(str, "Windows API")

RB範例:

檢視原始碼 REALBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
'RB的宣告
Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" ( _
	lpString1 As Ptr, _
	lpString2 As CString _
	) As Integer
 
'宣告一個記憶體空間
Dim str As New MemoryBlock(200)
 
Dim rtvl As Integer
 
'把Windwos API複製到str中
rtvl = lstrcpy(str, "Windows API")

VB.NET範例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
'VB.NET的宣告
<DllImport("kernel32.dll")> _
Shared Function lstrcpy( _
	ByVal lpString1 As StringBuilder, _
	ByVal lpString2 As String _
	) As IntPtr
End Function
 
'宣告一個StringBuilder
Dim str As New StringBuilder()
 
Dim rtvl As IntPtr
 
'把Windwos API複製到str中
rtvl = lstrcpy(str, "Windows API")

C#範例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//C#的宣告
[DllImport("kernel32")]
public static extern IntPtr lstrcpy(
	StringBuilder lpString1, 
	string lpString2
	);
 
//宣告一個StringBuilder
StringBuilder str = new StringBuilder();
 
IntPtr rtvl;
 
//把Windwos API複製到str中
rtvl = lstrcpy(str, "Windows API");

發表迴響