由买买提看人间百态

topics

全部话题 - 话题: tempout
(共0页)
d***a
发帖数: 316
1
来自主题: CS版 - 改变 c string 的一个问题
想法是用户输入一个文件名,例如 someresults.txt
然后用ifstream读入,处理后,用ofstream保存为 someresults_data_extracted.txt
用户输入的文件后缀要去掉。
以下是产生问题的部分code,其它省略。
整个程序g++编译通过的。

#include
#include
#include
#include

cout << "Enter the file to work on: ";
string originName;
getline(cin, originName);


// code for ifstream to read a file
…..


char * tempOut = new char [originName.size()+16];
strncpy(tempOut, originName.c_str(), originName.size()-4);
ofstream fout;
fout.open( strcat(tempO... 阅读全帖
c****p
发帖数: 6474
2
来自主题: CS版 - 改变 c string 的一个问题
你这么做就麻烦了。。
拿到OriginalName之后:
string tempOut = OriginalName + ".......txt";
fout = fopen(tempOut.c_str(),"wt");
...
而且输入文件名其实可以这样。。。
int main(int argc, char* argv[])
{

string OriginName(argv[1]);
...
}
这么做的好处是可以直接在命令行就指令输入文件,
再写个脚本做批处理之类的很方便,
省得每运行一次程序你都得手动输入文件名。
写得再复杂点都可以弄成支持通配符的。【 在 dunfa (蹲着发财) 的大作中提到: 】
txt
Q**a
发帖数: 406
3
来自主题: CS版 - 改变 c string 的一个问题
strncpy之后要给tempOut加一个\0截断
以及用string的substr和+=多简洁

txt
(共0页)