首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从文件中读取字符。C语言

从文件中读取字符。C语言
EN

Stack Overflow用户
提问于 2011-10-15 16:11:00
回答 1查看 418关注 0票数 0

这就是文件。

代码语言:javascript
运行
复制
X   1   0   1
1   X   X   1
1   0   1   0

1   1   0   X
0   X   1   1
1   X   1   0  

这是我的代码..版本1。

代码语言:javascript
运行
复制
char cha2[1];
int patternStored[180];
for(a=0;a<(numberOfPatterns*12);a++)
    {
        fscanf(patternMatFile,"%1s",cha2);
        if(cha2[0]=='X')
        {
            patternStored[a]=2;
        }
        else
        {
            patternStored[a]=atoi(cha2);
        }
    }

代码的目的是一次读取一个字符并将其保存到数组中。上面的代码运行良好,但是..

在循环的末尾,我遇到了这个错误

代码语言:javascript
运行
复制
Run-Time Check Failure #2 - Stack around the variable 'cha2' was corrupted.

这是第二个版本。

代码语言:javascript
运行
复制
char cha[4];
int patternStored[180];
for(a=0;a<(numberOfPatterns*12);a++)
    {
        fscanf(patternMatFile,"%c",cha);
        if(cha[0]=='X')
        {
            patternStored[a]=2;
        }
        else
        {
            patternStored[a]=atoi(cha);
        }
    }

第二个版本没有错误。但它只适用于%d..只有数字..

实际上,我不知道使用fscanf从文件中获取单个字符的正确方法,尤其是%

Tkz..

EN

Stack Overflow用户

回答已采纳

发布于 2011-10-15 16:13:49

要获取字符,您需要使用%c

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7776621

复制
相关文章

相似问题

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