我试图在 C 中打开一个文件,但我总是知道它无法打开该文件。我有以下代码:
int i = 0;
char delims[] = " ";
char *result = NULL;
char * results[10];
result = strtok( cmdStr, delims );
while( result != NULL ) {
results[i] = result;
i++;
result = strtok(NULL, " ");
}
printf(results[1]); // it defo shows the name file here
FILE *fp;
char ch;
if((fp = fopen(results[1],"r")) == NULL) {
printf("Cannot open file.\n");
} else {
while((ch = fgetc( fp )) != EOF) {
printf("%c", ch);
}
}
fclose(fp);
Results[1] 是文件的名称。所以如果我有类似“show file.txt”的东西,结果[0]将被显示,结果[1]文件.txt。
但是它不会在 fopen 上打开它。但是如果我插入代码fopen("file.txt", "r")
......它可以工作。