问题遇到的现象和发生背景
把cin>>filename改为C语言模式时,改不正确
问题相关代码,请勿粘贴截图
void OpenFile(LinkList L) //打开文件
{
Status InitList(); //先初始化链表
LNode * p, *q; //p是创建的新的结点
q = L; //q是指向头结点的指针,用于创建链表
while (true) {
printf("\n\n请输入文件名:");
//cin >> filename;
char filename[50];
scanf("%c",&filename);
if ((fp = fopen(filename, "r")) == NULL) { //没有该文件
printf("没有该文件信息,是否创建(y/n):");
char ch; //cin >> ch;
scanf("%c",&ch);
if (ch == 'Y' || ch == 'y') {
if ((fp = fopen(filename, "a+")) == NULL) { //创建文件失败
printf("创建失败!\n");
}
else break;
}
else continue;
}
else break;
}
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的效果
成功运行