所以我是c ++的新手,我遇到了一个程序问题。我试图搜索文件,然后找到所有26个大写字母(A,B,C ...)的第一次出现以及小写字母(a,b,c,d ...)。我一直在使用代码,并认为获取文件并将其创建为向量然后遍历向量并找到每个字母的第一个实例是最容易的。这是我的代码示例。
int main()
{
int i;
string file = input; // User inputted file
vector<string> v;
ifstream ist{ file };
if (!ist)
error("Can not open inputed file ", file);
while (!ist.eof())
{
string x;
ist >> x;
v.push_back(x); // Creates a string vector that is filled with everything
// in the file
}
// Find A in text.
vector<int> location;
location = find(v.begin(), v.end(), 'A');
if (location != v.end())
cout << "Found A at location " << location;
else
cout << "A was not found"
我能够成功检索到矢量v并且文件里面装满了它。麻烦的方面是如何从字符串向量中获取字母的位置。我仍然需要c ++所以我可能正在接近这个问题。如果你可以帮助我那将是非常棒的。感谢。
答案 0 :(得分:0)
当您搜索信件时,您的矢量v包含文件中的所有字符串。
制作v vector<char>
并按一个字符读取