我试图打开一个文件,并将信息保存在一个字符数组中,但是我没有得到它。要保存在字符串中,请使用以下命令:
dat
而且有效。 当我使用字符数组时,我的代码如下:
d
ReadFile函数是这样的:
ele.dat('this will be surrounded by CDATA delimiters');
答案 0 :(得分:0)
要读取字符或文本数组,可以使用std::getline
和std::string
:
std::string text;
std::getline(myfile, text);
要处理文件中的文本行:
std::string text;
while (std::getline(myfile, text))
{
Process_Text(text);
}
请勿使用字符数组,因为它们可能会溢出。另外,您不必使用==
进行比较,而必须使用strcmp
。始终验证您的字符数组是否以nul字符'\0'
终止,否则字符串函数将超出您的数组,直到找到nul才停止。
编辑1:空格
要阅读以空格分隔的文本,请使用:
std::string text;
myfile >> text;
编辑2:计算字符串中的字符
您可以使用另一个数组来计算字符串中的字符。
unsigned int frequency[128] = {0}; // Let's assume ASCII, one slot for each character.
// ... read in string
const size_t length(text.length());
for (size_t index = 0; index < length; ++index)
{
const char letter = text[index];
++frequency[letter];
}