次のコードでは、非常に奇妙な結果が得られます。
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("f1.in");
ofstream g("f1.out");
char sir[255];
int i;
char strlwr(char sir[]) //if void nothing changes
{
int i = 0;
for (i = 0; sir[i] != NULL; i++) {
sir[i] = tolower(sir[i]);
}
return 0; //if instead of 0 is 1 it will kinda work , but strlwr(sir) still needs to be displayed
}
int main()
{
f.get(sir, 255);
g << sir << '\n'; // without '\n' strlwr will no more maters
g << strlwr(sir);
g << sir;
return 0;
}
f1.in:
JHON HAS A COW
f1.out:
䡊乏䠠十䄠䌠坏
桪湯栠獡愠挠睯
これは、CAPS のみを使用している場合にのみ表示されます。
ヨーロッパ版のUbuntu 14でCode::Blocks 13.12を使用しています。
それがなぜこれを示しているのか、私は非常に興味があります。
それがあなたに同じことを与えるかどうか知りたいです。