我用file命令编写的代码在switch case中不起作用,但是它正常工作。有什么问题?
这里是我的代码;
#include<iostream>
#include<stdio.h>
using namespace std;
int main () {
int menu;
FILE *files;
char info[150];
cout<< " \n ** MENU ** \n";
cout<< "\n 1- Create File";
cout<< "\n 2- Copy File";
cout<< "\n 3- Copy without spaces";
cout<< "\n 4- Merge Files";
cout<< "\n 5- Quit \n";
cout<< "\n Please Select : ";
cin>>menu;
switch (menu) {
case 1:
files = fopen("example.txt","w");
printf("\n Information :"); gets(info);
fprintf(files, info);
fclose(files);
break;
default: "\n error";
}
return 0;
}
答案 0 :(得分:0)
请在printf("\n Information :");
和gets(info);
之间放置一个getchar()。喜欢
printf("\n Information :");
getchar();
gets(info);
对于换行问题以及gets()如何处理以前输入的换行符,您将遇到此问题。有关新行闪烁的详情请参阅printf()
,cin
,cout
,gets
。你会清楚地了解。