繁体   English   中英

如何将字符串复制到txt文件中?

[英]How do I copy the string in a txt file?

这是我正在处理的文本文件的示例:

http://example.com/object1 50 0
http://example.com/object2 25 1
http://example.another.com/repo/objects/1 250 0
ftp://ftpserver.abc.edu:8080 13 5
...

我想将url,大小(第一个数字)和优先级(第二个数字)传递到数组中。 这是我的代码:

ifstream infile;
infile.open("ece150-proj2-input.txt");

//Get the number of lines in the text file
int lines = 0;
while (!infile.eof()) {
    string line;
    getline(infile, line);
    lines++;
}

//Get the components in the input file
char url[lines][50];
float size[lines];
float delay[lines];
for (int i = 0; i < lines; i++) {
    infile >> url[i] >> size[i] >> delay[i];
}

//Testing if I get the url address correctly
cout << url[0] << endl;
cout << url[1] << endl;

但是结果是一些奇怪的字符:

pĞQ?
?Q?

为什么会这样呢? 任何人都可以解决这个问题。 谢谢 ;-)

这里的问题是,当您一次读取文件时,流现在位于文件的末尾。 您需要调用infile.seekg(0, infile.beg); 快退到视频流的开头。 您也可以关闭并重新打开infile。

其次,您要声明char url[lines][50]; 你不可以做这个。 c ++中数组的长度必须是编译时间常数。 我真的很惊讶您的代码被编译并没有提供任何输出。

我建议您使用std :: vector,它就像一个数组,但是您可以在最后添加元素。 这样,您无需事先知道行数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM