我必须编写一个从文件中读取输入的函数。文件设置:一个字符,空格,单词,空格,整个文件,像这样:
A space 1 space 2 space...
ETC
我需要提取一个字符后面的空格,而不是单词后面的空格。
我该怎么做呢?我应该让函数自己写入空格而不是提取它吗?
另外,我将此信息导入二维字符数组。尝试将整数写入 char 数组时会遇到问题吗?
我必须编写一个从文件中读取输入的函数。文件设置:一个字符,空格,单词,空格,整个文件,像这样:
A space 1 space 2 space...
ETC
我需要提取一个字符后面的空格,而不是单词后面的空格。
我该怎么做呢?我应该让函数自己写入空格而不是提取它吗?
另外,我将此信息导入二维字符数组。尝试将整数写入 char 数组时会遇到问题吗?
可能是这样的?
#include <iostream>
#include <fstream>
int main() {
char myChar;
char theWS;
std::string word;
std::ifstream in("example.txt");
while(in >> myChar >> std::noskipws >> theWS >> word >> std::skipws) {
std::cout << myChar << theWS << word << '\n';
}
}
您现在应该已经了解了标记器的想法。这是您需要的结构。
您可以将整数写入字符数组。由于 C 和 C++ 无论如何都将 ascii 字符表示为小数字,因此处理它们很容易。对应于特定字符的数值示例:'0' => 48、'1' => 49、...、'A' => 65、'B' => 66 等。
查看http://www.asciitable.com/了解完整的 ascii 字符集及其对应值。
这还允许您对字符执行数学运算,例如'A' + 1 => 'B'
数字和字符之间的转换(char) 65 => 'A'