是否可以使用cpp代碼編輯文件中的文本。已經有相關的問題,但它不能解決我的問題。請幫助我。 我已經給出了一個粗略的代碼行。 通過該文件查找()並嘗試用該字符串中的新字符串替換內容直到行尾。 我需要放置「hello」字符串,並且必須是行尾。使用cpp代碼編輯文件而不創建新文件
一樣,如果我們已經new.txt作爲
ABCDEFGHIJKLMNOPQRST
如果我想要的文件內容被改變
ABCDEHELLO
我收到文件內容
ABCDHELLOJKLMNOPQRST
fstream file("new.txt",fstream::in|fstream::out);
file.open();
while(getline(file,str))
{
if(value==strstr())
{
file.seekp(pos);
str.erase(pos,len);//len specifies the value till end of str
str.replace(pos,6,"hello");
char *d=new char[str.length()+1];
strcpy(d,str.c_str());
file.write(d,strlen(d));
delete [] d;
}
}
如果我可以將文件內容複製到字符串中,操作它,然後複製到新文件,然後就可以了。
是否可以更改同一文件中的內容。如果這麼好心地幫助我,我感到很震驚。如果替換字符串比實際存在的字符串長,那麼這會起作用,但是如果替換字符串小於實際存在的字符串,那麼我無法做到這一點。
爲什麼不字符串,而不是字符? – Joel
以字符串形式訪問它,但是單獨使用write()它會以char *形式發送* – Sathiya
但是,您正在使用文件流。我不介意C++和C中的混合,但如果我選擇C++ ......我使用C++。 – Joel