首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

读取回车字符的有关问题.

2012-02-05 
读取回车字符的问题...257872081465190程序要读一个文件,文件内包含上述数据,并统计0-9之间10个数据的个数

读取回车字符的问题...
257
872
081
465
190
程序要读一个文件,文件内包含上述数据,并统计0-9之间10个数据的个数,部分程序如下:

C/C++ code
for (int i = 0; i < iLength; i++)    {        char *p = begin;        char tmp = *(begin + 1);        *(begin + 1) = '\0';        if (0 != strcmp(p, " ") && 0 != strcmp(p, ""))        {            dsVector.at(atoi(p))->m_sum++;        }        *(begin + 1) = tmp;        begin = begin++;    }

但是,当读到回车部分时,*p = "",但是这样处理时,依然会执行if语句,导致0的计数会增加一次.
我想问的是,当读取到回车换行部分时,怎样才能判别是换行呢?

[解决办法]
可以一次只读一个字符 然后用
例如
char doc;

if(isdigit(doc))

;//代码,可以加一个标记位 每次加1 到3次 执行其他操作 并将其归0
 }
[解决办法]
探讨
可以一次只读一个字符 然后用
例如
char doc;

if(isdigit(doc))

;//代码,可以加一个标记位 每次加1 到3次 执行其他操作 并将其归0


[解决办法]
// wy.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <fstream>
#include <iostream>
using namespace std;

int main()
{
fstream in("wy.txt");
int arr[10];
memset(arr,0,sizeof(arr));
int a;
char c[4];
while (in.getline(c,4))
{
for (int i=0;i<3;i++)
{
arr[c[i]-'0']++;
}
}
for (int i=0;i<10;i++)
{
cout<<i<<"的个数为:"<<arr[i]<<endl;
}
}

热点排行