0
在此代碼中,字符長度突然變化。在介紹char 文件之前,strlen(str)是正確的。當我引入新的char文件時,變量str的strlen值發生變化。字符串長度突然變化
#include <unistd.h>
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
int main(){
char buf[BUFSIZ];
if(!getcwd(buf,BUFSIZ)){
perror("ERROR!");
}
cout << buf << endl;
char *str;
str = new char[strlen(buf)];
strcpy(str,buf);
strcat(str,"/");
strcat(str,"input/abcdefghijklmnop");
cout << str << endl;
cout << strlen(str) << endl;
char *file;
file = new char[strlen(str)];
cout << strlen(file) << endl;
strcpy(file,str);
cout << file << endl;
}
這是什麼問題? – Wilson
你的緩衝區'str'太短。你爲什麼不使用'std :: string'? –