正在从包含Int和Char数据类型的文件中读取
Reading from File Containing Int and Char data types
我使用Dev C++来完成此编程任务。
我将试着对这个问题做一个基本的概述。。。
我正在尝试编写一个程序,从文件中读取时间戳和温度读数,然后将时间戳设置为特定格式,并在需要时将温度转换为摄氏度。输入文件的顶部有一个哨兵编号,用于指示需要读取多少行数据。在这个int之后,每行都包含一个数字(即200103121915 F51.13),日期和临时之间有一个空格。格式为YYYYMMDDHHMM。在不使用指针或任何面向对象编程的情况下,我们应该将每个条目转换为MM/DD/YYYY-HHMM格式,如果温度以华氏度为单位,则需要将其转换为摄氏度。
我尝试过的每一种方法都会遇到问题。首先,我只想将整个12位数字读取为int,然后使用一些模数命令来分离每个部分。然而,我发现int不会容纳那么大的数字。接下来,我想把每个数字读入一个数组,然后把各个数组拼凑成正确的格式。我不知道如何一次读一位数。我想数组需要是和int类型,但我该如何处理F或C标签?基本上,我只是在寻找一些关于如何完成这项任务的基本想法,而不是要求别人来编写代码。
如果只使用老式的stdio.h函数,这会容易得多。
fscanf(stream, "%4d%2d%2d%2d%2d %c%f", &year, &month, &mday, &hour, &minute, &unit, &temp);
如果你真的真的不能使用指针,那么
year = 1000 * (fgetc(stream) - '0');
year += 100 * (fgetc(stream) - '0');
year += 10 * (fgetc(stream) - '0');
year += (fgetc(stream) - '0');
month = 10 * (fgetc(stream) - '0');
month+= (fgetc(stream) - '0');
等等…
如果您刚刚开始使用C++中的I/O,您可能会将一个参考网站作为书签,因为库提供了很多选项和功能。
- cppreference.com是一个非权威但方便的维基风格的来源
- Cay Horstmann写了一篇涵盖更多领域的文章,你可以搜索关键词
- cplusplus.com对较旧的语言功能有相当好的覆盖,但有一些错误,并且没有很好地更新
作为进一步的指针,std::setw
操纵器可能有助于提取给定数量的字符——尽管它不会阻止数字提取过于贪婪。
相关文章:
- 使用 Boost.Spirit 解析具有混合数据类型的 OBJ 文件?
- 我的头文件 DNode 中的我的数据类型未被识别为数据类型
- 是否可以用类似C/C++(或任何语言)的语言,从作为用户输入的字符串或文件中创建用户定义的数据类型
- 如何将数据类型声明从.cpp文件传输到 .cu 文件
- 将多种数据类型写入文件时的其他行和额外的数组元素
- 在C 中按行读取文本文件,每行都是不同的数据类型
- 当拥有倍数数据类型C 时,正确读取文件末尾的方法
- 如何将自定义数据类型(用std::对填充的std::数组)写入文件流
- 如何在文件中读取不同的数据类型?C
- C 从具有不同数据类型的文件中循环
- 哪种数据类型用于存储文件名和文件大小的使用
- 如何通过读取文件将不同数据类型的数据推送到向量中
- C++ 从文本文件数据类型读取为结构,并将数据存储在列表的向量中
- 文件中数据类型的计数(以C++为单位)
- C++具有混合分隔符和数据类型的文件输入
- 头文件中异常的数据类型和 #include
- c++我需要将文件中的数据读取到多维数组中,然后用一种数据类型对数组进行排序.怎样
- 分析位图文件时,如何替换WORD和DWORD数据类型
- RegGetValue返回的数据类型与admx文件中提到的gpo设置的数据类型不同
- 如何从文件中识别数据类型