首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >本机已退出代码3 (0x3)

本机已退出代码3 (0x3)
EN

Stack Overflow用户
提问于 2013-10-09 10:05:37
回答 1查看 9.1K关注 0票数 0

调试此代码时有以下问题:

代码语言:javascript
复制
// Croppen.cpp : Defines the entry point for the console application.

#include "stdafx.h"
#include "stdlib.h" 

int i,j,c;
char hex[] = {"header.hex"},
     ziel[] = {"ergebniss.bmp"},
     eingabe[100];
FILE *f,*h;

int _tmain(int argc, _TCHAR* argv[])
{
    {//eingabe des Orginalen Bildnamens
        printf("Bitte geben sie den Bild namen ein. Maxiaml 20 Zeichen, mit '.bmp'\n");

        do { scanf("%s", eingabe); } while ( getchar() != '\n' );

        if ((f = fopen(eingabe,"rb")) == NULL)
        {
            printf("Fehler beim Öffnen von %s\n",eingabe);
            system("exit");
        }
    }

    {//header einlesen
        h = fopen(hex,"wb");
        for (i = 0; i < 52; i++) { putc(getc(f),h); }
    }

    return 0;
}

产生此错误:

代码语言:javascript
复制
'Croppen.exe': Loaded 'C:\Windows\SysWOW64\oleaut32.dll', Symbols loaded (source information stripped).
The program '[2884] Croppen.exe: Native' has exited with code 3 (0x3).

有人能说出我的问题在哪里吗?

我使用MS 2010 IDE教授。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-09 10:10:29

代码语言:javascript
复制
do {
    scanf("%s", eingabe);
} while ( getchar() != '\n');

逐字阅读不是一个幸运的选择。您可以这样做(C风格的方法):

代码语言:javascript
复制
while (scanf("%s", eingabe) == 1) {
    ...
}

或者使用std::strings和streams代替(C++):

代码语言:javascript
复制
std::string word;
while (std::cin >> word) {
    ...
}

尽管在本例中,我认为您只想阅读带有文件名的1行:

代码语言:javascript
复制
std::string filename;
if (std::getline(std::cin, filename)) {
    ...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19268947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档