gpt4 book ai didi

c++ - 将每个单词的第一个字符大写 - 帮助发现我的错误

转载 作者:行者123 更新时间:2023-11-30 03:47:23 24 4
gpt4 key购买 nike

假设我们有一个名为 text.txt 的文本文件。在这个 text.txt 文件中,我们找到以下 3 行:

test meow, hello one, two, 
ten eleven
obelix, new

现在我只是想把每个单词的第一个字符大写,所以它应该是这样的:

Test Meow, Hello One, Two, 
Ten Eleven
Obelix, New

我的代码正在执行此操作,但只有 1 个我找不到的错误。最后一个 cout 只给我以下内容:

Obelix, New

所以之前的一切都不见了。你们能帮我解释一下我哪里做错了吗?我希望德国人的评论不会让您感到困惑。

#include <iostream>
#include <string>
#include <fstream>

using namespace std;

int main(){

struct fileInformation
{
string sDatei;
string sPfad;
string sText;
int iStringMAX;
char cZeichen;

}fileinformation;

ifstream inFile;

cout << "Dateiname: ";
cin >> fileinformation.sDatei;
cout << "Pfad: ";
cin >> fileinformation.sPfad;

fileinformation.sPfad.append("\\");
fileinformation.sPfad.append(fileinformation.sDatei);

inFile.open(fileinformation.sPfad);

if (inFile.is_open())
{
while (getline(inFile, fileinformation.sText))
{
cout << fileinformation.sText <<endl;
}
//Anzahl der Zeichen
fileinformation.iStringMAX = fileinformation.sText.size();
}
else
{
cerr << "Problem vorhanden" << endl;
exit(1);
}

for (int i = 0; i < fileinformation.iStringMAX; i++)
{
if (i == 0)
{
//Erstes Zeichen vom String in Character Variable speichern (Vorher auf Großbuchstabe)
//Tausche Kleinbuchstaben gegen unser Großbuchstaben aus
fileinformation.cZeichen = toupper(fileinformation.sText[i]);
fileinformation.sText[i] = fileinformation.cZeichen;
}
else if (isspace(fileinformation.sText[i]))
{
fileinformation.cZeichen = toupper(fileinformation.sText[i + 1]);
fileinformation.sText[i + 1] = fileinformation.cZeichen;
}

}


cout << fileinformation.sText;

return 0;
}

最佳答案

每次从输入文件中读取文本行时,都会用这一行覆盖 fileinformation.sText。之后你在最后一行进行大写,最后一行被打印出来。您需要存储从文件中读取的每一行。

istream& getline (istream& is, string& str, char delim);
Note that any content in str before the call is replaced by the newly extracted sequence.

关于c++ - 将每个单词的第一个字符大写 - 帮助发现我的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33692143/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com