[問題] C++複製字串..strcpy,strcat 找不到bug
各位好,
在寫new user這部分的時候,
我想把帳號密碼寫入 username_info.txt裡面
用了strcpy strcat把帳號改成結尾加_info.txt
從頭到尾沒動到存放密碼的字串cmd3
印出來後卻變成"txt" 或是"xt"....
帳號密碼都打大約十個多一點時才會這樣,
都打短短的就不會發生問題
debug de很久了一直找不到 ~"~
麻煩大神們花一點時間幫幫小弟我 <(_ _)>
謝謝!
#include <cstdio>
#include <iostream>
#include <string.h>
using namespace std;
int main(void)
{
char cmd1[4];
char cmd2[30];
char cmd3[30];
cin >> cmd1;
if(strcmp(cmd1,"/u")==0) //bug:cmd3 sometimes cannot be stored properly...
{
cin >> cmd2 ;cin >> cmd3;
cout<<endl<<cmd2<<endl<<cmd3<<endl;
char tmp_fn[15];
char *fend="_info.txt";
strcpy(tmp_fn,cmd2);//cout<<tmp_fn<<endl;
strcat(tmp_fn,fend);
cout<<"fend="<<fend<<endl;
cout<<"tmp_fn="<<tmp_fn<<endl;
cout<<"cmd2="<<cmd2<<endl;
cout<<"cmd3="<<cmd3<<endl;
}
}
這是執行結果(example):
/u joajoajoas hanehaned
joajoajoas
hanehaned
fend=_info.txt
tmp_fn=joajoajoas_info.txt
cmd2=joajoajoas
cmd3=txt
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.64.167
→
04/15 20:48, , 1F
04/15 20:48, 1F
推
04/15 20:48, , 2F
04/15 20:48, 2F
→
04/15 20:53, , 3F
04/15 20:53, 3F
→
04/15 20:54, , 4F
04/15 20:54, 4F
→
04/15 20:54, , 5F
04/15 20:54, 5F