FILE *fp1 = NULL;
fp1=fopen("D:/Program Files/Microsoft Visual Studio/MyProjects/1.jpg","r");
FILE *fp1 = NULL;
fp1=fopen("D:\\Program Files\\Microsoft Visual Studio\\MyProjects\\1.jpg","r");
\在c中是转义符号
fp1=fopen("D:\Program Files\Microsoft Visual Studio\MyProjects\1.jpg","r");
运行出错,可能因为文件名中间有空格的原因,如果是
fp1=fopen("D:\media\1.jpg","r");
也是可以运行的
所以貌似和前面说的 转义符号 没有关系吧
补充:谁能回答我下面的问题
#include "stdio.h"
int main(void)
{
FILE *fp1 = NULL;
int size;
char filename[256];
printf("input filename:\n");
scanf("%s",filename);
//为什么从键盘输入文件名是,无论怎样输入(/;\;\\),只要文件名中有空格,都不能运行出来啊
fp1=fopen(filename,"r"); if(fp1 == NULL)
{
printf("d1.txt is not open \n");
}
fseek(fp1,0,SEEK_END);
size = ftell(fp1);
printf("%d\n",size);
}
解答上面的疑问:
是scanf()函数的问题