[英]How do I cast from char** to char* in C?
我有這個問題:我有一個存儲不同字符的矩陣。 現在,我必須將這些字符與另一個字符進行比較,但是在編譯時,它說strcmp接收char *,而我有char **。 那么,我該如何投放呢? 這是我的代碼:
對於矩陣:
for (i = 0; i < x; i++){
for (j = 0; j < y; j++){
if (!fscanf(fol, "%c", &mat[i][j])){
break;}
//printf("%c", mat[i][j]);
}
}
我遇到的問題是:
for (x = 0; x < largo; x++){
for (y = 0; y < ancho; y++){
char *charcha;
strcpy (charcha, mat[x][y]);
//char *charcha = "%c", mat[x][y];
int algo = strcmp(charcha, "0");
if (algo == 0){
printf (" ");
}
else{
printf("%c", mat[x][y]);}
}
}
printf ("\n");
我嘗試使用strcpy,但也失敗了:C
謝謝
如果要比較字符串,請使用:
for (x = 0; x < largo; x++)
{
if ( strcmp(mat[x], "0") == 0 )
{
// Do whatever.
}
else
{
// Do whatever.
}
}
如果要比較字符,請使用:
for (x = 0; x < largo; x++)
{
for (y = 0; y < ancho; y++)
{
if (mat[x][y] == '0' )
{
// Do whatever.
}
else
{
// Do whatever.
}
}
}
要從char **轉換為char *,請使用*
例:
char ** twoLevel = ..
char * oneLevel = *twoLevel;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.