为什么我的代码在switch case中不起作用?

时间:2018-01-07 11:07:09

标签: c++

我用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;
}

1 个答案:

答案 0 :(得分:0)

请在printf("\n Information :");gets(info);之间放置一个getchar()。喜欢     printf("\n Information :"); getchar(); gets(info); 对于换行问题以及gets()如何处理以前输入的换行符,您将遇到此问题。有关新行闪烁的详情请参阅printf()cincoutgets。你会清楚地了解。