我有這個程式。我試圖將用戶輸入連接到命令,以便在 wsl 環境中執行它。
#include<stdio.h>
#include<stdlib.h>
int main(){
char cmd[100];
char usr_in[50];
fgets(usr_in, sizeof(usr_in), stdin);
cmd = snprintf(cmd, sizeof(cmd), "ping %s", usr_in);
system(cmd);
return 0;
}
但這在編譯期間給了我以下錯誤。
error: incompatible types in assignment of ‘int’ to ‘char [100]’
cmd = snprintf(cmd, sizeof(cmd), "ping %s", usr_in);
我無法弄清楚它在談論哪個整數賦值。sizeof(cmd)是那里唯一的整數,它是snprintf的有效引數。
uj5u.com熱心網友回復:
snprintf回傳int(列印的字符數)并且您嘗試將回傳值分配給cmdis char[100]。
uj5u.com熱心網友回復:
snprintf回傳一個int. cmd = snprintf…嘗試將其分配int給陣列cmd。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/529037.html
標籤:Clinuxwsl-2
