Может кто-нибудь, пожалуйста, объясните, почему этот код компилируется:Почему этот код не компилируется?
#include <stdio.h>
#include <string.h>
int main (int argc, char *argv [])
{
FILE *ptr;
char string[10] = "Testing";
ptr = fopen("C:\\Users\\Jordan\\Desktop\\Hello.txt", "wb");
fwrite(string,sizeof(string[0]), sizeof(string)/sizeof(string[0]), ptr);
}
Но это не делает: Дает C2065 Ошибка: 'строка': необъявленная идентификторов
#include <stdio.h>
#include <string.h>
int main (int argc, char *argv [])
{
FILE *ptr;
ptr = fopen("C:\\Users\\Jordan\\Desktop\\Hello.txt", "wb");
char string[10] = "Testing";
fwrite(string,sizeof(string[0]), sizeof(string)/sizeof(string[0]), ptr);
}
Я использую Visual Studio 2010 на ОС Windows 7 Машина.
Благодаря
@DavidHeffernan - Да, когда я компилирую и запускаю его прежний фрагмент кода, он работает. Тем не менее, когда я пытаюсь скомпилировать нижнюю версию (где моя строка объявляется после открытия файла, она дает мне эту ошибку. Ошибка 3 ошибка C2065: 'строка': необъявленный идентификатор – Jordan
Да, у других это. Nasty MS C89! Если вы хотите написать C, а не C++, тогда вы должны получить лучший компилятор. –
Мне нравится, как «string» и «string.h» сбивали меня с ума (и, возможно, все остальные). – Mysticial