我可以假设使用fwrite生成的文件和使用fread读取的文件可以跨不同系统移植.32位/ 64位Windows,osx,linux.
//dumping
FILE *of =fopen("dumped.bin","w");
double *var=new double[10];
fwrite(var, sizeof(double), 10,FILE);
//reading
file *fo=fopen()
double *var=new double[10];
fread(var,sizeof(double),10,of);
Run Code Online (Sandbox Code Playgroud)
结构怎么样?
struct mat_t{
size_t x;
size_t y;
double **matrix;
}
Run Code Online (Sandbox Code Playgroud)
这些便携式吗?
在我下面的代码中,据我所知,文件正在正确写入.当我查看文件floats.dat时,我看到了这个二进制流ÍÌL@33c@ÍÌÜ@ffFAßOeA^@^@bBf6zE33äCff<83>BÍ̦B
但是我的程序总是会触发这个if语句:
if(fread(inputFloats, sizeof(float), LENGTH, binaryFile) < LENGTH)
{
fprintf(stderr, "Problem reading some or all data from %s\n\n", binaryFileName);
return EXIT_FAILURE;
}
Run Code Online (Sandbox Code Playgroud)
有人看到我在这里做错了吗?完整代码如下.
#include <stdlib.h>
#include <stdio.h>
#define LENGTH 10
int main(void)
{
FILE *binaryFile, *textFile;
char *binaryFileName = "floats.dat", *textFileName = "floats.txt";
float floats[LENGTH] = {3.2, 3.55, 6.9, 12.4, 14.332, 56.5, 4003.4, 456.4, 65.7, 83.4};
float inputFloats[LENGTH];
int i;
if((binaryFile = fopen(binaryFileName, "r+")) == NULL)
{
fprintf(stderr, "Problem opening %s", binaryFileName);
}
if(fwrite(floats, sizeof(float), LENGTH, binaryFile) < LENGTH) …Run Code Online (Sandbox Code Playgroud) 我搜索过网站,但我找不到问题的答案.
我的程序输出一个图像,我想保存到一个不同的文件,每个图像在循环迭代后产生.
我保存文件的代码就是这个
FILE *fobjecto;
if ((fobjecto = fopen ("OSEM.ima", "wb")) != NULL)
{
printf("Writing reconstructed image file");
fwrite (objecto, sizeof(float), (detectorXDim)*detectorYDim*(NSlices-1), fobjecto);
fclose (fobjecto);
}
else
printf("Reconstructed image file could not be saved");
Run Code Online (Sandbox Code Playgroud)
我想在输出文件的名称中添加一个整数变量,我试过用"+"和","但我无法解决它.
提前致谢
我用fwrite创建这个小项目(长篇故事,我不能使用DB).问题是我想每次提交一些东西时都这样做,必须在
每个关键代码13中添加一个标签(新行,输入)那么我该怎么办呢?我使用JavaScript和PHP来做到这一点.我看了一些其他的演出,但我找不到任何东西..
感谢您的支持!
/*Write a program that indefinitely takes in files to append to a master
file. If the file names are the same, don't do it. If there's an error,
don't do it. Exit with a blank line. Use a custom buffer.*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_NAME 25
#define BUFSIZE 1024
int append(FILE *, FILE *);
int main(){
char src[MAX_NAME], mainfile[MAX_NAME];
FILE *src_ptr, *mainfile_ptr;
int successes = 0;
puts("Enter name of main file");
if(gets(mainfile) == NULL){
fprintf(stderr, "Error, couldn't …Run Code Online (Sandbox Code Playgroud) 我有一个简单的过程来创建一个包含数据库数据的CSV文件.
if (isset($_POST['submitcsv'])) {
$csvfile = fopen("stardata.csv", "w"); //w=write, r=read, a=append
$datebeginning = date('Y/m/d', strtotime($_POST['datebeginning']));
$query = $pdoace->prepare("SELECT *
FROM `starrisk`
WHERE `testdate` >= ?
AND `site` = '". $_POST['fromlocation'] ."'
ORDER BY `cdcnumber` ASC");
$query->execute(array($datebeginning));
While($row = $query->fetch()) {
for ($x=1; $x<=51; $x++)
{
echo fwrite($csvfile, $row[$x].",");//inside loop;
}
echo fwrite($csvfile, "\r\n");
}
fclose ($csvfile);
echo 'Data Compilation Complete: <a href="stardata.csv">download now...</a>';
}
Run Code Online (Sandbox Code Playgroud)
我得到的神秘数字看起来只是数据编译完成(下面)似乎与数据本身无关(它由一个名字,姓氏和一堆-1和1组成(一个真假) )...
117342222333222233223232233332232232332223323233333332117672223232323222233322222233233232323233323233322222数据编译完成:立即下载...
想法有人???
从我在互联网和书籍上看到的内容,编辑文本文件或任何文件时,文件必须完全重写; 您不能只将数据插入文件并保存.
如果是这样,编程语言中的数组怎么样?在C++中,我可以显式修改数组中间的某些值.对我来说,这似乎是在一组字节中间修改一个或两个字节的演示.
我想到的唯一两种可能的解决方案是
将数据写入文件和将数据写入数组有什么区别?
我在Windows 8.1中使用MinGW,并且我有一个原始数字的输入文本文件(每行一个),我想将它们以二进制形式写入新的二进制文件中。该示例在编译时不会出现以下问题:
gcc -pedantic -Os -c my_code.c -o my_code.exe
Run Code Online (Sandbox Code Playgroud)
但输出是
$ my_code.exe
sh: ./my_code.exe: Bad file number
Run Code Online (Sandbox Code Playgroud)
这是我写的代码:
#include<stdio.h>
int main ()
{
FILE *fp;
FILE *prob;
int length;
char buffer[30];
// Open file containing numbers
if ((prob = fopen("raw_numbers.txt","r")) == NULL)
{
printf("Could not open raw_numbers.txt\n");
exit(1);
}
/* Create output binary file */
fp = fopen( "file.bin" , "w" );
while( ! feof(prob) )
{
fgets(buffer, sizeof(buffer), prob);
fwrite((const void*) & buffer, 1, sizeof(buffer), fp);
}
fclose(prob);
fclose(fp); …Run Code Online (Sandbox Code Playgroud) 我有一个相当简单的脚本,应该在文件中添加新的字符串.
if (isset($_POST["score"]))
{
$myFile = $_SERVER['DOCUMENT_ROOT']."/xx/zz.txt";
$fh = fopen($myFile, 'r');
$theData = fread($fh, filesize($myFile));
fclose($fh);
$File = $_SERVER['DOCUMENT_ROOT']."/xx/zz.txt";
$Handle = fopen($File, 'w');
$Data = $_POST["score"]."\n".$theData;
fwrite($Handle, $Data);
fclose($Handle);
}
Run Code Online (Sandbox Code Playgroud)
升级到PHP 7.0后,我收到错误:
fread() expects parameter 1 to be resource, boolean given in /home/zzz/public_html/zzz.php on line 7
fclose() expects parameter 1 to be resource, boolean given in /home/zzz/public_html/zzz.php on line 8
Run Code Online (Sandbox Code Playgroud)
谁能解释为什么会出现这个错误以及如何修复它?什么是PHP 7.0导致它突然停止工作?
我有一个这样的课:
struct SomeClass{
SomeClass(){}
SomeClass(const SomeClass& rhs):
_m1(rhs._m1),
_m2(rhs._m2),
_m3(rhs._m3),
_m4(rhs._m4){}
SomeClass& operator=(const SomeClass& rhs){
// same as above
return *this;
}
int _m1;
std::vector<int> _m2;
std::vector<int> _m3;
int _m4;
};
Run Code Online (Sandbox Code Playgroud)
在我的程序中的某个时刻,我想保存存储在SomeClass对象中的数据供以后使用:
SomeClass someObj = arr->getBest(); // arr is a pointer to AnotherClass,
// in which different SomeClass
// objects are initialized and then
// involved in various
// computations in AnotherClass,
// finally the best one SomeClass
// object will be save here
fwrite(&someObj, sizeof(SomeClass), 1, saveFile); …Run Code Online (Sandbox Code Playgroud)