ЗДРАСТИ
Подскажите пожалусйста, почему при проверки
переменной g на наличие символа "^", код проход когбудто символа нету, хотя при определении в этом мести точки остановки и проверки значений символ имеется с двух старон равенства, надеюсь понятно обьяснил.
string str,g;
char delim[256];
char ch;
std::ifstream file("C:\\DATA\\Commodity.txt", std::ios::binary);
while(!file.fail())
{
while(file.getline(delim,sizeof(delim)))
{
for(int i=0;i<256;i++)
{
g = delim[i];
if(g.c_str()=="^")
{
str+=delim[i];
Console::WriteLine(str.c_str());
};
};
};
};
спасибо
сообщил/сообщила в новостях следующее:
news:1446839@news.rsdn.ru...
> ЗДРАСТИ
ДРАСТЕ!
> Подскажите пожалусйста, почему при проверки
> переменной g на наличие символа "^", код проход когбудто символа нету, хотя при определении в этом мести точки остановки и проверки значений символ имеется с двух старон равенства, надеюсь понятно обьяснил.
Обижаейшь, брателлова! Мы тута не какие-нить пассажиры, мы фишку сразу просекли.
> [ccode]
> string str,g;
>
> char delim[256];
> char ch;
> std::ifstream file("C:\\DATA\\Commodity.txt", std::ios::binary);
> while(!file.fail())
> {
> while(file.getline(delim,sizeof(delim)))
> {
> for(int i=0;i<256;i++)
> {
> if(delim[i]=='^')
> {
> str+=delim[i];
>
> Console::WriteLine(str.c_str());
Когда ты пишешь "zxc" ты определяешь строку (массив символов), соответственно операция "zxc"=="zxc" сравнивает не строки а указатели, так что условие это может быть истинным, а может быть и ложным. Implementation defined, как говорится.
> спасибо
ПАЖАЛСТА!
Захади ищщо!
Posted via RSDN NNTP Server 1.9
On Thu, 20 Oct 2005 17:26:40 +0400, Аноним <0@users.rsdn.ru> wrote:
> Подскажите пожалусйста, почему при проверки
> переменной g на наличие символа "^", код проход когбудто символа нету, хотя при определении в этом мести точки остановки и проверки значений символ имеется с двух старон равенства, надеюсь понятно обьяснил.
Расскажи на словах, что ты пытаешься сделать, код твой туманен.
--
Maxim YegorushkinPosted via RSDN NNTP Server 2.0 beta
Здравствуйте, Аноним, Вы писали:
А>ЗДРАСТИ
А>Подскажите пожалусйста, почему при проверки
А>переменной g на наличие символа "^", код проход когбудто символа нету, хотя при определении в этом мести точки остановки и проверки значений символ имеется с двух старон равенства, надеюсь понятно обьяснил.
А>А> string str,g;
А> char delim[256];
А> char ch;
А> std::ifstream file("C:\\DATA\\Commodity.txt", std::ios::binary);
А> while(!file.fail())
А> {
А> while(file.getline(delim,sizeof(delim)))
А> {
А> for(int i=0;i<256;i++)
А> {
А> g = delim[i];
А> if(g.c_str()=="^")
А> {
А> str+=delim[i];
А> Console::WriteLine(str.c_str());
А> };
А> };
А> };
А> };
А>
А>спасибо
потому что в этом случае сравниваются адреса, а не содержимое строк