c/c++文本输入有关问题
c/c++文本输入问题
如题,我想把一段字符输入一个文本文件中,例如啊,a,b,c
cd,e,cc,
aa,ss,d
希望,文本文件中显示的也是 a,b,c
cd,e,cc,
aa,ss,d
代码应该怎么写呢?不要用
fputs("a,b,c",fp);
fputs("\n",fp);这种类型哦,因为文本比较多,这样太麻烦了,希望大家不吝赐教
------解决思路----------------------
假设你有三个字符串
string a = "a,b,c";
string b = "cd,e,cc,";
string c = "aa,ss,d";
FILE* p = fopen("path/to/your/file", "a+");
fprintf(p, "%s\n", a.c_str());
fprintf(p, "%s\n", b.c_str());
fprintf(p, "%s\n", c.c_str());
也可以写成
fprintf(p, "%s\n%s\n%s\n", a.c_str(), b.c_str(), c.c_str());
格式可以自己定义
------解决思路----------------------
那就写成如下形式
------解决思路----------------------
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{//循环,每次读入一行string,当eof时终止,读入string中输出到文件中
string str;
ofstream out("myflie.txt");
while (cin>>str)
{
out << str << endl;
}
out.close();
return 0;
}
用c++写的不知道这样行不行
------解决思路----------------------
------解决思路----------------------
当然不会换行啊,要是换行就错了。这是C里面常用的一种写法
如题,我想把一段字符输入一个文本文件中,例如啊,a,b,c
cd,e,cc,
aa,ss,d
希望,文本文件中显示的也是 a,b,c
cd,e,cc,
aa,ss,d
代码应该怎么写呢?不要用
fputs("a,b,c",fp);
fputs("\n",fp);这种类型哦,因为文本比较多,这样太麻烦了,希望大家不吝赐教
------解决思路----------------------
假设你有三个字符串
string a = "a,b,c";
string b = "cd,e,cc,";
string c = "aa,ss,d";
FILE* p = fopen("path/to/your/file", "a+");
fprintf(p, "%s\n", a.c_str());
fprintf(p, "%s\n", b.c_str());
fprintf(p, "%s\n", c.c_str());
也可以写成
fprintf(p, "%s\n%s\n%s\n", a.c_str(), b.c_str(), c.c_str());
格式可以自己定义
------解决思路----------------------
那就写成如下形式
fputs("this "
"is "
"a "
"demo "
"string", p);
------解决思路----------------------
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{//循环,每次读入一行string,当eof时终止,读入string中输出到文件中
string str;
ofstream out("myflie.txt");
while (cin>>str)
{
out << str << endl;
}
out.close();
return 0;
}
用c++写的不知道这样行不行
------解决思路----------------------
void main()
{
char* s1 = "this "
"is "
"a "
"demo "
"string\n";
char* s2 = "this "
"is "
"another "
"string\n";
FILE* p = fopen("D:/a.txt", "a+");
if (p)
{
fputs(s1, p);
fputs(s2, p);
fclose(p);
}
}
------解决思路----------------------
能不能简单写段代码呢,我没搞懂你的意思是怎么用
假设你有三个字符串
string a = "a,b,c";
string b = "cd,e,cc,";
string c = "aa,ss,d";
FILE* p = fopen("path/to/your/file", "a+");
fprintf(p, "%s\n", a.c_str());
fprintf(p, "%s\n", b.c_str());
fprintf(p, "%s\n", c.c_str());
也可以写成
fprintf(p, "%s\n%s\n%s\n", a.c_str(), b.c_str(), c.c_str());
格式可以自己定义
哦哦,我其实是想一次输一段字符,不是像你这样的方式,你这个相当于还是要一行一行的定义,我期待的是类似于这样的效果,
fputs("a,ba,c
aa,dd,cc
yi,c m",fp)
类似于这样的一次就输进去了,因为我要输的文本实在是有点多,如果一行一行的定义往里面输的话,工作量太大了,还是非常感谢你帮我解答哈
那就写成如下形式
fputs("this "
"is "
"a "
"demo "
"string", p);
我刚刚试过你的那个方法,得到的结果是this,is,a,demo,string
字符没有自动分行,而且字符与字符之间多了个逗号
当然不会换行啊,要是换行就错了。这是C里面常用的一种写法