我有以下的代碼從所述命令行讀取一個文件名,並且打開該文件:Ç分配串從的argv []到char數組
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv){
FILE *datei;
char filename[255];
//filename = argv[1];
//datei=fopen(filename, "r");
datei=fopen(argv[1], "r");
if(datei != NULL)
printf("File opened");
else{
printf("Fehler beim öffnen von %s\n", filename);
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}
此示例的工作原理,但我想寫入字符串從命令行到字符數組,並通過該字符數組到fopen(),但我得到編譯器錯誤 Error: assignment to expression with array type filename = argv[1];
這個錯誤意味着什麼,我該怎麼做才能解決它?
使用'的strcpy(文件名,ARGV [1]);' – 2015-02-23 18:19:58
的可能重複[無法分配數組到另一個](http://stackoverflow.com/questions/10862550/cannot-assign-an-array-to-another) – 2015-02-23 18:26:24
在「文件打開」消息的末尾添加\ n。圍繞此指令使用大括號以與else子句保持一致。 – chqrlie 2015-02-23 18:37:22