指向字符串文字的指針未傳遞到WriteFile()
。 fileName[]
用字符串文字"network/fileName.yo"
初始化。它是通過的變量fileName
。因爲它是一個數組,它被轉換爲指向其第一個元素的指針。
在使用它之前聲明或定義WriteNetwork()
。
將指向const
數據的指針傳遞給期望指向非const
數據的函數應該無法編譯。將WriteNetwork()
更改爲接受const
指針。 @Lưu Vĩnh Phúc
還要注意後,似乎把WriteFile()
爲WriteNetwork()
@Ray Toal。當然這是一個文書錯誤,函數名稱和調用應該是相同的。
// int WriteNetwork(const char* fileName) {
int WriteFile(const char* fileName) {
printf("the filename is %s\n", fileName);
}
int main(void) {
const char fileName[] = "network/fileName.yo";
WriteFile(fileName);
}
我一定是失去了一些東西很簡單,但似乎無法追查!
小費: 節省時間。啓用所有編譯器警告。他們提供快速反饋以幫助您「追蹤」。
'WriteFile'或'WriteNetwork'? –
它是如何工作的?你期望它如何工作?發生了什麼?這些都是有用的東西,包括。 –
更改'WriteFile'聲明以獲取一個'const char *' –