4
A
回答
1
這對我的作品;你在想什麼?
#include <stdio.h>
#include <string.h>
int main(int argc, char ** argv)
{
const char foo[] = "foo";
unsigned const char * x = (unsigned const char *) foo;
char bar[20];
strcpy(bar, (const char *)x);
printf("bar=[%s]\n", bar);
return 0;
}
請注意,如果你是不是嘗試過的(無符號爲const char *)指針進入的strcpy的第一個參數,那麼你可能試圖做一些你不應該(和編譯器是正確的,它標誌作爲錯誤);因爲strcpy()將寫入由其第一個參數指向的內存,而const指針是一個不應寫入數據的指針。
1
在ANSI CI相信這應該只是工作如:
#include <string.h>
int main() {
const char *s="test";
unsigned const char *d = s;
char dest[1000];
strcpy(dest,d);
}
你可以嘗試加入鑄:
#include <string.h>
int main() {
const char *s="test";
unsigned const char *d = s;
char dest[1000];
strcpy(dest,(const char *) d);
}
7
(const char *) my_signed_char
在C++中有更地道的方式來投這一點,但因爲你使用的是strcpy,所以你不會編程習慣C++。
相關問題
- 1. 從Swift字符串轉換爲const char *
- 2. 從字符**隱式轉換爲const char **
- 3. const無符號字符*轉換爲/從字符串或const char *
- 4. 將const char *轉換爲常量wchar_t *
- 5. C++:無效的轉換,從'爲const char * const的「爲'字符*」
- 6. 從const void轉換爲char?
- 7. 從`const char *'轉換爲`byte'
- 8. 將字符串轉換爲使用Arduino類型的const char *
- 9. 如何 '爲const char *' 轉換爲 'const的無符號字符*'
- 10. C++:字符**爲const char **轉換
- 11. 轉換型「的char **」,以「爲const char **」
- 12. 「從'const char *'無效轉換爲'char'[-fpermissive]」
- 13. 轉換無效從CHAR爲const char *
- 14. 不能將'const char *'轉換爲'char * const *'
- 15. 從「爲const char *」到「字符*」
- 16. C++加載錯誤:無法將const值類型*(又名常量wchar_t *)轉換爲常量字符*初始化
- 17. 錯誤:從「字符」無效的轉換爲「爲const char *
- 18. 從爲const char *轉換爲雨燕串
- 19. 如何爲const WCHAR *轉換爲const char *
- 20. 如何爲const char *轉換爲const WCHAR *
- 21. 從字符串轉換爲const char * + size_t在「」運算符
- 22. C++ Uint8數據類型轉換爲const char *數據類型
- 23. 發送「爲const char *」類型爲參數「常量uint8_t *」的錯誤
- 24. 將NSString轉換爲const char
- 25. 轉換爲const char *到LPCTSTR
- 26. 將NSString轉換爲const char *
- 27. 轉換BSTR爲const char *
- 28. int轉換爲const char *
- 29. 將const char *轉換爲int
- 30. 將UIImage轉換爲const char *?
現在出現錯誤「非法轉換」 – Sijith 2013-02-20 06:31:40
「現在出現錯誤」 - 您現在的意思是什麼?你做了什麼 - 你的代碼在哪裏?你能否把所有這些都加入到這個問題中(而不是在評論中)? – jogojapan 2013-02-20 06:38:59