小编dma*_*ect的帖子

如何将用户输入从 cin 输入到 C++11 std::array

我怎样才能从用户那里得到输入std::array

这是我所拥有的,但它不会编译。

std::array<char, 10> myArray{"hello"} ;
std::cout << "Enter your name: ";
std::cin >> myArray;
Run Code Online (Sandbox Code Playgroud)

如果输入的字符超过 10 个,请截断并忽略它们。我还需要清除 cin 缓冲区,以便稍后进行其他输入。

c++ arrays c++11

4
推荐指数
1
解决办法
2648
查看次数

win api readConsole()

我正在尝试使用Win API ReadConsole(...),我想传递一个分隔符char来暂停来自控制台的输入.以下代码有效,但它只停止读取输入\r\n.我希望它能够停止读取控制台输入'.'.

void read(char *cIn, char delim)
{
    HANDLE hFile;
    DWORD charsRead;
    DWORD charsToRead = MAX_PATH;
    CONSOLE_READCONSOLE_CONTROL cReadControl;

    cReadControl.nLength = sizeof(CONSOLE_READCONSOLE_CONTROL);
    cReadControl.nInitialChars = 0;
    cReadControl.dwCtrlWakeupMask = delim;
    cReadControl.dwControlKeyState = NULL;

    DWORD lpMode;



//    char cIn[MAX_PATH];    //-- buffer to hold data from the console

    hFile = CreateFile("CONIN$", GENERIC_READ | GENERIC_WRITE,
                    FILE_SHARE_WRITE | FILE_SHARE_READ, NULL,
                    OPEN_EXISTING, 0, NULL);

    GetConsoleMode(hFile,&lpMode);
//    lpMode &= ~ENABLE_LINE_INPUT;   //-- turns off this flag
//    SetConsoleMode(hFile, lpMode);  //-- set the mode with …
Run Code Online (Sandbox Code Playgroud)

c++ windows winapi

4
推荐指数
1
解决办法
1020
查看次数

函数调用中的WriteConsole访问冲突,但不是来自main()

我试图在函数调用中使用WriteConsole(..),但我得到访问冲突.当我取消注释main中的代码时,它会将我的文本打印到屏幕上,主函数没有问题.当我尝试在函数调用中打印字符串时,即使它将文本打印到控制台,我也会遇到访问冲突.

void print(char *_charArray);

int _tmain(int argc, _TCHAR* argv[])
{

    HWND hConsole;
//    HANDLE hFile;
    char myText[] = "This is my text";
    char *pMyText = myText;
    LPDWORD charsWriten;


//    hFile = CreateFile("CONOUT$", GENERIC_WRITE, FILE_SHARE_READ, NULL,
//        OPEN_EXISTING, 0, NULL);

    print(pMyText);

//    WriteConsole(hFile, myText, sizeof(myText), charsWriten, NULL);


    getch();
    return 0;
}

void print(char *text)
{
    LPDWORD charsWriten;
    HANDLE hFile;

    hFile = CreateFile("CONOUT$", GENERIC_READ | GENERIC_WRITE,
                    FILE_SHARE_WRITE | FILE_SHARE_READ, NULL,
                    OPEN_EXISTING, 0, NULL);

    unsigned int strn = strlen(text) + 1;

    if(!WriteConsole(hFile, text, …
Run Code Online (Sandbox Code Playgroud)

c++ windows winapi function

1
推荐指数
1
解决办法
144
查看次数

如何使用FILE*fp调用函数关闭文件

在主要我创建一个文件指针,将其传递给一个函数来打开它,我想有一个单独的函数来关闭文件,但我无法关闭该文件.我错过了什么?

我没有收到错误,但我检查的方式表明文件没有关闭.

感谢您的帮助.

 int _tmain(int argc, _TCHAR* argv[])
{
    FILE *inFile, *outFile;
    FileOpen(&inFile, &outFile);
    FileClose(&inFile, &outFile);

    getch();
    return 0;
}

void FileOpen(FILE **inFile, FILE **outFile)
{
//--Open InFile--------------------------------
    if ((*inFile = fopen("a.txt","r")) == NULL){
        printf("\nError Opening File. ");
        exit(0);
    }
    else {
        printf("File Opened\n");
         }

//--Open OutFile--------------------------------
    if ((*outFile = fopen("b.txt","w")) == NULL){
        printf("\nError Opening File. ");
        exit(0);
    }
    else {
        printf("File Opened\n");
         }
}


void FileClose(FILE **inFile, FILE **outFile)
{
//--Close InFile----------
    if (fclose(*inFile)){
        printf("File Closed\n");
    }
    else { …
Run Code Online (Sandbox Code Playgroud)

c c++ function fclose file-pointer

0
推荐指数
1
解决办法
166
查看次数

标签 统计

c++ ×4

function ×2

winapi ×2

windows ×2

arrays ×1

c ×1

c++11 ×1

fclose ×1

file-pointer ×1