-2
yayın akışında rastgele bir dosyada (mac-xcode'ta) okumaya ve belgede k harfinin örneklerini belirlemeye çalışıyorum. Ardından, sayıyı bir çıkış dosyası olarak yazdırın. Benim sorunum, outfile yazılmadığı ve nums_k 0 olarak geri dönüyor olmasıdır. Ifstream yanlış çalışıyor veya ofstream kurulu farklı bir dosya adı gerekiyor emin değilim. İşte kaynak kodum.Mac üzerinde
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
ifstream infile("Users/bryanmichaelnorris/documents/extra credit assignment.docx");
string line;
int numks = 0;
while (getline(infile,line)) {
int x = 0;
for (std::string::iterator it=line.begin(); it!=line.end(); ++it) {
if (line[x] == 'k') {
numks++;
}
x++;
}
}
infile.close();
ofstream outfile("number of k's.docx");
outfile << "There are " << numks << " K's in the file." << endl;
outfile.close();
return 0;
}
'" Kullanıcılar/... "', bu adın * başındaki * bir '/' koyarak başlarım. Doğrulama yapmak istediğinizde, giriş dosyanız doğru bir şekilde açıldıysa, dünyadaki her şeyin doğru olduğunu varsaymaktan ziyade * testi * yapmak kesinlikle zarar vermez. Ayrıca, Xcode altında çalışırken çalışan dizinin genellikle insanların düşündüğü şeylere yakın olmadığı (ancak şema düzenleyicinizde değiştirebildiğiniz) gibi çıktı dosyasının nerede yazıldığını araştırmak isteyebilirsiniz. – WhozCraig
@WhozCraig neredeyse çiviye çarptı – trojanfoe
Bir MS-Word belgesi olmayan bir dosya için '.docx uzantısı kullanmayın ... Gerçekten bir uzantıya ihtiyacınız varsa, belki de .txt' bir çok daha iyi bir tane. Giriş dosyası da bir MS-Word dosyasıysa, bu şekilde 'k' harfini saymazdım, çünkü 'k' metnin kendisinden başka bir şey için kullanılmış olabilir. –