Самое простое решение - создать функцию JavaScript и вызвать его для обратного вызова Ajax success
.
function callServerAsync(){
$.ajax({
url: '...',
success: function(response) {
successCallback(response);
}
});
}
function successCallback(responseObj){
// Do something like read the response and show data
alert(JSON.stringify(responseObj)); // Only applicable to JSON response
}
function foo(callback) {
$.ajax({
url: '...',
success: function(response) {
return callback(null, response);
}
});
}
var result = foo(function(err, result){
if (!err)
console.log(result);
});
В Unix для fopen () нет причин для добавления ./ к имени файла, переданному fopen ().
Fopen for write return NULL в первом запуске?
Я заметил, что пока вы держите открытые файлы для записи, но не закрываете их.
Попробуйте добавить fclose ( outFile) после fwrite:
outFile = fopen ( current_file_name , "wb" );
fwrite(output, sizeof( char ), bytes_read, outFile);
fclose(outFile)
Возможно, вы открываете больше файлов, чем позволяет ваша ОС.
В моем случае я снова читал один и тот же файл в цикле while и забыл закрыть его.
Я использовал функцию для чтения файла и поиска соответствия, и функция имела return;
, который завершил функцию перед выполнением fclose(fp)
: D
Как сказал Гейб, ваша проблема - это новая строка в имени файла, которая является незаконной в Windows.
Но почему бы вам просто не использовать split из GNU Core Utilities. Установленный по умолчанию в Unices / Linux, можно загрузить для Windows из проекта GnuWin32 .
split --suffix-length=4 --numeric-suffixes --bytes=1M - part < filename